āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C: āļ„āļđāđˆāļĄāļ·āļ­āļžāļ·āđ‰āļ™āļāļēāļ™āļ–āļķāļ‡āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”

į›ŪæŽĄ

1. āļšāļ—āļ™āļģ: āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C

āļ āļēāļĐāļēāđ‚āļ›āļĢāđāļāļĢāļĄ āļ āļēāļĐāļē C āļ–āļđāļāđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļāļ§āđ‰āļēāļ‡āļ‚āļ§āļēāļ‡āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļĢāļ°āļ”āļąāļšāļĢāļ°āļšāļš āļ‹āļķāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāļ°āļ„āļ§āļšāļ„āļļāļĄāļ­āļļāļ›āļāļĢāļ“āđŒāđ„āļ”āđ‰āđ‚āļ”āļĒāļ•āļĢāļ‡ āļ„āļ§āļēāļĄāļĢāļđāđ‰āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āļˆāļķāļ‡āđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļ āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ•āļąāđ‰āļ‡āđāļ•āđˆāļžāļ·āđ‰āļ™āļāļēāļ™āļˆāļ™āļ–āļķāļ‡āļ‚āļąāđ‰āļ™āļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C

āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C

āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāđāļĨāļ°āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨāļ āļēāļĒāđƒāļ™āļ”āđ‰āļ§āļĒ āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āļ‹āļķāđˆāļ‡āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒ 0 āđāļĨāļ° 1 āļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļšāļŠāļąāļāļāļēāļ“āđ„āļŸāļŸāđ‰āļē “āđ€āļ›āļīāļ” (1)” āđāļĨāļ° â€œāļ›āļīāļ” (0)” āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ—āļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļŠāļļāļ” āļ āļēāļĐāļē C āđ€āļŦāļĄāļēāļ°āļŠāļĄāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļĢāļ°āļ”āļąāļšāļ•āđˆāļģāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ āļˆāļķāļ‡āļ„āļ§āļĢāļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāļāļēāļĢāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāļ°āļāļēāļĢāļ­āļ­āļāđāļšāļšāđ‚āļ›āļĢāđāļāļĢāļĄāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āđ€āļĄāļ·āđˆāļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļˆāļ°āđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļžāļ·āđˆāļ­āļžāļīāļˆāļēāļĢāļ“āļēāļ‚āļ™āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ€āļŠāđˆāļ™ āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļ°āļ”āļąāļšāļšāļīāļ•āļŠāđˆāļ§āļĒāļ›āļĢāļ°āļŦāļĒāļąāļ”āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāļ°āļ—āļģāđƒāļŦāđ‰āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ āļ—āļąāļāļĐāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āļˆāļķāļ‡āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđˆāļ­ āļāļēāļĢāļ›āļĢāļ°āļŦāļĒāļąāļ”āļ—āļĢāļąāļžāļĒāļēāļāļĢāđāļĨāļ°āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§āđ‚āļ›āļĢāđāļāļĢāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļāđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰āļšāļīāļ•

āđƒāļ™āļ āļēāļĐāļē C āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ• (Bitwise Operations) āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļāļŦāļĢāļ·āļ­āđāļāđ‰āđ„āļ‚āļšāļēāļ‡āļŠāđˆāļ§āļ™āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ­āļ­āļāđāļšāļšāļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄāđāļĨāļ°āļĢāļ°āļšāļšāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āđ„āļ”āđ‰

āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļˆāļ°āđ„āļ”āđ‰āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļˆāļēāļāļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰

āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ”āļąāļ‡āļ™āļĩāđ‰:

  1. āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡
  2. āļ§āļīāļ˜āļĩāļāļēāļĢāđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C
  3. āļāļēāļĢāđāļ›āļĨāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļĨāļ°āļāļēāļ™āļŠāļīāļš
  4. āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ°āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāļ‚āļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•
  5. āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”āđāļĨāļ°āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡

āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ™āļĩāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļ—āļąāđ‰āļ‡āļœāļđāđ‰āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđāļĨāļ°āļœāļđāđ‰āļĄāļĩāļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļĢāļ°āļ”āļąāļšāļāļĨāļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāļāļēāļĢāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āđƒāļŦāđ‰āļĨāļķāļāļ‹āļķāđ‰āļ‡

2. āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļ„āļ·āļ­āļ­āļ°āđ„āļĢ? āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļžāļ·āđ‰āļ™āļāļēāļ™

āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āļĢāļ°āļšāļšāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨ āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āđāļ™āļ§āļ„āļīāļ”āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļĄāļąāļ™āļˆāļ°āļŠāđˆāļ§āļĒāļŠāļĢāđ‰āļēāļ‡āļĢāļēāļāļāļēāļ™āļ—āļĩāđˆāļŠāļģāļ„āļąāļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ”āđ‰āļ§āļĒāļ āļēāļĐāļē C āđƒāļ™āļŦāļąāļ§āļ‚āđ‰āļ­āļ™āļĩāđ‰āđ€āļĢāļēāļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āđˆāļēāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļ„āļ·āļ­āļ­āļ°āđ„āļĢ āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāđƒāļŠāđ‰āļĄāļąāļ™ āļĢāļ§āļĄāļ–āļķāļ‡āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āđāļĨāļ°āļāļēāļĢāđāļ›āļĨāļ‡āļāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ (Binary) āđƒāļŠāđ‰āđ€āļžāļĩāļĒāļ‡āļ•āļąāļ§āđ€āļĨāļ‚ 0 āđāļĨāļ° 1 āđƒāļ™āļāļēāļĢāđāļ—āļ™āļ„āđˆāļē āļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļšāļŠāļąāļāļāļēāļ“āđ„āļŸāļŸāđ‰āļē “āđ€āļ›āļīāļ”” āđāļĨāļ° â€œāļ›āļīāļ”” āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāļ”āļīāļˆāļīāļ—āļąāļĨ

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡:

  • āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš â€œ1” āļ„āļ·āļ­ â€œ1” āđƒāļ™āļāļēāļ™āļŠāļ­āļ‡
  • āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš â€œ2” āļ„āļ·āļ­ â€œ10” āđƒāļ™āļāļēāļ™āļŠāļ­āļ‡
  • āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš â€œ3” āļ„āļ·āļ­ â€œ11” āđƒāļ™āļāļēāļ™āļŠāļ­āļ‡

āļšāļīāļ•āđāļĨāļ°āđ„āļšāļ•āđŒ

āļŦāļ™āđˆāļ§āļĒāļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļ„āļ·āļ­ āļšāļīāļ• (bit) āļ‹āļķāđˆāļ‡āļĄāļĩāļ„āđˆāļēāđ„āļ”āđ‰āđ€āļžāļĩāļĒāļ‡ 0 āļŦāļĢāļ·āļ­ 1 āđāļĨāļ°āđ€āļ›āđ‡āļ™āļŦāļ™āđˆāļ§āļĒāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđ€āļĨāđ‡āļāļ—āļĩāđˆāļŠāļļāļ”
8 āļšāļīāļ•āđ€āļĢāļĩāļĒāļāļ§āđˆāļē 1 āđ„āļšāļ•āđŒ āļ‹āļķāđˆāļ‡āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĄāļąāļāđƒāļŠāđ‰āđ€āļ›āđ‡āļ™āļŦāļ™āđˆāļ§āļĒāļ™āļĩāđ‰

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡:

  • 8 āļšāļīāļ• (1 āđ„āļšāļ•āđŒ): 00000000 āļ–āļķāļ‡ 11111111 (āđāļ—āļ™āļ„āđˆāļēāđ„āļ”āđ‰āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0–255)

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

āđƒāļ™āļŠāļĩāļ§āļīāļ•āļ›āļĢāļ°āļˆāļģāļ§āļąāļ™ āđ€āļĢāļēāļĄāļąāļāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāļ‹āļķāđˆāļ‡āļĄāļĩāļ•āļąāļ§āđ€āļĨāļ‚āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ 9 āļ‚āļ“āļ°āļ—āļĩāđˆāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļĄāļĩāđ€āļžāļĩāļĒāļ‡ 0 āđāļĨāļ° 1 āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ™āļĩāđ‰āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļāļēāļĢāđāļ›āļĨāļ‡āļ•āļąāļ§āđ€āļĨāļ‚āđāļĨāļ°āļāļēāļĢāļ­āļ­āļāđāļšāļšāļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄāļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡:

āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡
00
11
210
311
4100

āļ§āļīāļ˜āļĩāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰ āļāļēāļĢāļŦāļēāļĢāđ€āļ­āļēāđ€āļĻāļĐ

  1. āļ™āļģāļ„āđˆāļēāļāļēāļ™āļŠāļīāļšāļĄāļēāļŦāļēāļĢāļ”āđ‰āļ§āļĒ 2
  2. āļ™āļģāļœāļĨāļĨāļąāļžāļ˜āđŒāļĄāļēāļŦāļēāļĢāļ”āđ‰āļ§āļĒ 2 āļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡āđāļĨāļ°āļˆāļ”āđ€āļĻāļĐ
  3. āļ—āļģāļ‹āđ‰āļģāļˆāļ™āļœāļĨāļŦāļēāļĢāđ€āļ›āđ‡āļ™ 0 āļˆāļēāļāļ™āļąāđ‰āļ™āļ™āļģāđ€āļĻāļĐāļ—āļĩāđˆāđ„āļ”āđ‰āļĄāļēāđ€āļĢāļĩāļĒāļ‡āļĒāđ‰āļ­āļ™āļāļĨāļąāļš

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš â€œ13” āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

  1. 13 ÷ 2 = 6 āđ€āļĻāļĐ 1
  2. 6 ÷ 2 = 3 āđ€āļĻāļĐ 0
  3. 3 ÷ 2 = 1 āđ€āļĻāļĐ 1
  4. 1 ÷ 2 = 0 āđ€āļĻāļĐ 1
    āļœāļĨāļĨāļąāļžāļ˜āđŒ: 1101

āļ§āļīāļ˜āļĩāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāļ—āļģāđ‚āļ”āļĒāļ™āļģāļ„āđˆāļēāļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļšāļīāļ•āļĄāļēāļ„āļđāļ“āļāļąāļš 2 āļĒāļāļāļģāļĨāļąāļ‡āļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡āđāļĨāļ°āļĢāļ§āļĄāļāļąāļ™

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ â€œ1101” āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

  1. āļšāļīāļ•āļ‚āļ§āļēāļŠāļļāļ”: 1 × 2^0 = 1
  2. āļšāļīāļ•āļ–āļąāļ”āļĄāļē: 0 × 2^1 = 0
  3. āļšāļīāļ•āļ–āļąāļ”āļĄāļē: 1 × 2^2 = 4
  4. āļšāļīāļ•āļ‹āđ‰āļēāļĒāļŠāļļāļ”: 1 × 2^3 = 8
    āļœāļĨāļĨāļąāļžāļ˜āđŒ: 1 + 0 + 4 + 8 = 13

āđ€āļŦāļ•āļļāļœāļĨāļ—āļĩāđˆāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

  • āļ„āļ§āļēāļĄāđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒ: āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļ—āļģāļ‡āļēāļ™āļšāļ™āļŠāļąāļāļāļēāļ“āđ„āļŸāļŸāđ‰āļēāļ—āļĩāđˆāļĄāļĩ 2 āļŠāļ–āļēāļ™āļ° (āđ€āļ›āļīāļ”/āļ›āļīāļ”) āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļˆāļķāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡
  • āļ„āļ§āļēāļĄāđ€āļŠāļ–āļĩāļĒāļĢ: āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļ—āļ™āļ•āđˆāļ­āļ„āļ§āļēāļĄāļœāļīāļ”āļžāļĨāļēāļ”āļˆāļēāļāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒāļ‚āļ­āļ‡āļŠāļąāļāļāļēāļ“ āļ—āļģāđƒāļŦāđ‰āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ„āļ”āđ‰āđāļĄāđˆāļ™āļĒāļģ

3. āļ§āļīāļ˜āļĩāļāļēāļĢāđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C

āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡āļ āļēāļĐāļēāđ„āļĄāđˆāđ„āļ”āđ‰āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļ„āđˆāļēāļāļēāļ™āļŠāļ­āļ‡āđ‚āļ”āļĒāļ•āļĢāļ‡ āļˆāļķāļ‡āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ—āļ„āļ™āļīāļ„āļŦāļĢāļ·āļ­āļ§āļīāļ˜āļĩāļāļēāļĢāļžāļīāđ€āļĻāļĐ āđƒāļ™āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āđ€āļĢāļēāļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļžāļ·āđ‰āļ™āļāļēāļ™āđƒāļ™āļāļēāļĢāđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡ āđāļĨāļ°āđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡

āļ§āļīāļ˜āļĩāđ€āļ‚āļĩāļĒāļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļšāļšāļĨāļīāđ€āļ—āļ­āļĢāļąāļĨ

āļ āļēāļĐāļē C āļĄāļēāļ•āļĢāļāļēāļ™āđ„āļĄāđˆāļĄāļĩāļ§āļīāļ˜āļĩāđ€āļ‚āļĩāļĒāļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļšāļšāļ•āļĢāļ‡āđ† āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļ­āļ·āđˆāļ™ (āđ€āļŠāđˆāļ™ āļāļēāļ™āļŠāļīāļšāļŦāļ āļāļēāļ™āļŠāļīāļš āļāļēāļ™āđāļ›āļ”) āđāļ—āļ™āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢāļāļąāļšāļ„āđˆāļēāļāļēāļ™āļŠāļ­āļ‡āđ„āļ”āđ‰

āđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāļŦāļāļŦāļĢāļ·āļ­āļāļēāļ™āļŠāļīāļšāđāļ—āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

  • āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāļŦāļ: 1 āļŦāļĨāļąāļāļ‚āļ­āļ‡āļāļēāļ™āļŠāļīāļšāļŦāļāļ•āļĢāļ‡āļāļąāļš 4 āļšāļīāļ•āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āļ—āļģāđƒāļŦāđ‰āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļŠāļ°āļ”āļ§āļ
  • āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: 0b1010 (āļāļēāļ™āļŠāļ­āļ‡) āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđ€āļ›āđ‡āļ™ 0xA (āļāļēāļ™āļŠāļīāļšāļŦāļ)

āđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ• (Bit Shift)

āđāļĄāđ‰āļˆāļ°āđ„āļĄāđˆāļĄāļĩāļĨāļīāđ€āļ—āļ­āļĢāļąāļĨāļāļēāļ™āļŠāļ­āļ‡ āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ„āđˆāļēāļāļēāļ™āļŠāļ­āļ‡āđ„āļ”āđ‰

#include <stdio.h>

int main() {
    int value = (1 << 3) | (1 << 1); // āđāļ—āļ™āļ„āđˆāļē 1010 āđƒāļ™āļāļēāļ™āļŠāļ­āļ‡
    printf("Value: %d\n", value);   // āđāļŠāļ”āļ‡āļœāļĨ 10 (āļāļēāļ™āļŠāļīāļš)
    return 0;
}

āđƒāļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ āđƒāļŠāđ‰āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ• (<<) āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ„āđˆāļēāļ—āļĩāđˆāđ€āļ—āļĩāļĒāļšāđ€āļ—āđˆāļēāļāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļŠāļĢāđ‰āļēāļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŠāļģāļŦāļĢāļąāļšāļˆāļąāļ”āļāļēāļĢāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļāļēāļĢāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āļŠāļąāļ”āđ€āļˆāļ™āđāļĨāļ°āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ‚āļķāđ‰āļ™ āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđ€āļ­āļ‡āđ€āļžāļ·āđˆāļ­āđāļŠāļ”āļ‡āļŦāļĢāļ·āļ­āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

#include <stdio.h>

void printBinary(int num) {
    for (int i = 31; i >= 0; i--) { // āļŠāļĄāļĄāļ•āļīāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ 32 āļšāļīāļ•
        printf("%d", (num >> i) & 1);
    }
    printf("\n");
}

int main() {
    int value = 10; // 10 āđƒāļ™āļāļēāļ™āļŠāļīāļš
    printf("āļāļēāļ™āļŠāļīāļš: %d\n", value);
    printf("āļāļēāļ™āļŠāļ­āļ‡: ");
    printBinary(value); // āđāļŠāļ”āļ‡āļœāļĨāđƒāļ™āļāļēāļ™āļŠāļ­āļ‡
    return 0;
}

āđ‚āļ„āđ‰āļ”āļ™āļĩāđ‰āļˆāļ°āđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ„āļ›āļ—āļēāļ‡āļ‚āļ§āļēāļ—āļĩāļĨāļ°āļŦāļ™āļķāđˆāļ‡āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļĨāļ°āļžāļīāļĄāļžāđŒāļ„āđˆāļēāļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļšāļīāļ•

āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡āđāļĨāļ°āđ€āļ—āļ„āļ™āļīāļ„

1. āļĢāļ°āļ§āļąāļ‡āļāļēāļĢāļĨāđ‰āļ™āļšāļīāļ• (Overflow)

āđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđƒāļ™āļ āļēāļĐāļē C āļŦāļēāļāđ€āļāļīāļ™āļˆāļģāļ™āļ§āļ™āļšāļīāļ•āļ‚āļ­āļ‡āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ āđ€āļŠāđˆāļ™ 32 āļŦāļĢāļ·āļ­ 64 āļšāļīāļ• āļ­āļēāļˆāđ€āļāļīāļ”āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ—āļĩāđˆāđ„āļĄāđˆāļ„āļēāļ”āļ„āļīāļ” āļˆāļķāļ‡āļ„āļ§āļĢāļĢāļđāđ‰āļ‚āļ™āļēāļ”āļšāļīāļ•āļ‚āļ­āļ‡āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ (int, unsigned int āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™)

2. āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ•āļąāļ§āđ€āļĨāļ‚āļĨāļš

āļ„āđˆāļēāļĨāļšāļˆāļ°āļ–āļđāļāđāļ—āļ™āļ”āđ‰āļ§āļĒ Two’s Complement āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļĄāļēāļ•āļĢāļāļēāļ™āđƒāļ™āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļšāļ•āļąāļ§āđ€āļĨāļ‚āļ•āļīāļ”āļĨāļš āļ•āđ‰āļ­āļ‡āļĢāļ°āļ§āļąāļ‡āđ€āļĄāļ·āđˆāļ­āļ•āđ‰āļ­āļ‡āļ—āļģāļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āļŦāļĢāļ·āļ­āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļāļąāļšāļ•āļąāļ§āđ€āļĨāļ‚āļĨāļš

3. āļ„āļ§āļēāļĄāļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”

āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒ āļ„āļ§āļĢāđƒāļŠāđˆāļ„āļ­āļĄāđ€āļĄāļ™āļ•āđŒāļŦāļĢāļ·āļ­āđ€āļ‚āļĩāļĒāļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŠāđˆāļ§āļĒ āđ€āļžāļĢāļēāļ°āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļŦāļĢāļ·āļ­āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļāļēāļ™āļŠāļ­āļ‡āļ­āļēāļˆāđ„āļĄāđˆāļŠāļąāļ”āđ€āļˆāļ™āļ•āđˆāļ­āļœāļđāđ‰āļ­āđˆāļēāļ™

4. āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āđ€āļ›āđ‡āļ™āļ—āļąāļāļĐāļ°āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ°āđ€āļĄāļ·āđˆāļ­āļ—āļģāļ‡āļēāļ™āđƒāļ™āļĢāļ°āļ”āļąāļšāļšāļīāļ•āļŦāļĢāļ·āļ­āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨ āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļˆāļ°āđāļ™āļ°āļ™āļģāļ—āļąāđ‰āļ‡āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ›āļĨāļ‡āđāļšāļšāļ—āļģāļ”āđ‰āļ§āļĒāļĄāļ·āļ­āđāļĨāļ°āļāļēāļĢāđƒāļŠāđ‰āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļžāļ·āđˆāļ­āđāļ›āļĨāļ‡āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī

āļāļēāļĢāđāļ›āļĨāļ‡āļ”āđ‰āļ§āļĒāļĄāļ·āļ­

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡:

  1. āļŦāļēāļĢāļ”āđ‰āļ§āļĒ 2: āļ™āļģāļ„āđˆāļēāļāļēāļ™āļŠāļīāļšāļĄāļēāļŦāļēāļĢāļ”āđ‰āļ§āļĒ 2 āđāļĨāđ‰āļ§āļˆāļ”āđ€āļĻāļĐ
  2. āļ—āļģāļ‹āđ‰āļģ: āļ™āļģāļœāļĨāļŦāļēāļĢāđ„āļ›āļŦāļēāļĢāļ”āđ‰āļ§āļĒ 2 āļ•āđˆāļ­āđ„āļ›āļˆāļ™āļāļ§āđˆāļēāļˆāļ°āđ„āļ”āđ‰āļœāļĨāļŦāļēāļĢāđ€āļ›āđ‡āļ™ 0
  3. āđ€āļĢāļĩāļĒāļ‡āđ€āļĻāļĐāļāļĨāļąāļšāļ”āđ‰āļēāļ™: āļ™āļģāđ€āļĻāļĐāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļĄāļēāđ€āļĢāļĩāļĒāļ‡āļˆāļēāļāļĨāđˆāļēāļ‡āļ‚āļķāđ‰āļ™āļšāļ™

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš â€œ13” āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

  • 13 ÷ 2 = 6 āđ€āļĻāļĐ 1
  • 6 ÷ 2 = 3 āđ€āļĻāļĐ 0
  • 3 ÷ 2 = 1 āđ€āļĻāļĐ 1
  • 1 ÷ 2 = 0 āđ€āļĻāļĐ 1

āļœāļĨāļĨāļąāļžāļ˜āđŒ: 1101 (āļāļēāļ™āļŠāļ­āļ‡)

āđ‚āļ›āļĢāđāļāļĢāļĄ C āļŠāļģāļŦāļĢāļąāļšāđāļ›āļĨāļ‡āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļ­āļ‡

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļ āļēāļĐāļē C āļŠāļģāļŦāļĢāļąāļšāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļ­āļ‡āđāļĨāļ°āđāļŠāļ”āļ‡āļœāļĨ:

#include <stdio.h>

void decimalToBinary(int num) {
    int binary[32]; // āļĢāļ­āļ‡āļĢāļąāļšāļŠāļđāļ‡āļŠāļļāļ” 32 āļšāļīāļ•
    int index = 0;

    // āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļ­āļ‡
    while (num > 0) {
        binary[index] = num % 2; // āđ€āļāđ‡āļšāđ€āļĻāļĐ
        num = num / 2;          // āļ­āļąāļžāđ€āļ”āļ—āļœāļĨāļŦāļēāļĢ
        index++;
    }

    // āđāļŠāļ”āļ‡āļœāļĨāļĒāđ‰āļ­āļ™āļĨāļģāļ”āļąāļš
    printf("āļāļēāļ™āļŠāļ­āļ‡: ");
    for (int i = index - 1; i >= 0; i--) {
        printf("%d", binary[i]);
    }
    printf("\n");
}

int main() {
    int value;
    printf("āļ›āđ‰āļ­āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš: ");
    scanf("%d", &value);
    decimalToBinary(value);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 13
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļ­āļ‡: 1101

āļāļēāļĢāđƒāļŠāđ‰āļšāļīāļ•āđ€āļžāļ·āđˆāļ­āđāļ›āļĨāļ‡āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđ€āļžāļ·āđˆāļ­āđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§ āđ‚āļ„āđ‰āļ”āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ„āļ›āļ—āļēāļ‡āļ‚āļ§āļē:

#include <stdio.h>

void printBinaryUsingBitwise(int num) {
    printf("āļāļēāļ™āļŠāļ­āļ‡: ");
    for (int i = 31; i >= 0; i--) {
        printf("%d", (num >> i) & 1);
    }
    printf("\n");
}

int main() {
    int value;
    printf("āļ›āđ‰āļ­āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš: ");
    scanf("%d", &value);
    printBinaryUsingBitwise(value);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 13
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļ­āļ‡: 00000000000000000000000000001101

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡āļ‚āļ­āļ‡āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļ­āļ‡

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļ

āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļ­āļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āļšāļīāļ•āļŠāļēāļĄāļēāļĢāļ–āđāļ—āļ™āļŠāļ–āļēāļ™āļ° āđ€āļ›āļīāļ”/āļ›āļīāļ” āđ„āļ”āđ‰

āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ

āđƒāļ™āļāļēāļĢāļ„āļģāļ™āļ§āļ“ IP Address āđāļĨāļ° Subnet Mask āļˆāļ°āđƒāļŠāđ‰āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļšāđˆāļ­āļĒāļ„āļĢāļąāđ‰āļ‡

āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡

  • āļ‚āļ™āļēāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ: int āđ‚āļ”āļĒāļ›āļāļ•āļīāļˆāļ°āļĄāļĩ 32 āļšāļīāļ• āļŦāļēāļāļ•āđ‰āļ­āļ‡āļāļēāļĢāđ€āļāđ‡āļšāļ„āđˆāļēāļ—āļĩāđˆāđƒāļŦāļāđˆāļāļ§āđˆāļē āļ„āļ§āļĢāđƒāļŠāđ‰ long āļŦāļĢāļ·āļ­ long long
  • āļ„āđˆāļēāļĨāļš: āđ€āļĄāļ·āđˆāļ­āļ—āļģāļ‡āļēāļ™āļāļąāļšāļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ āļ•āđ‰āļ­āļ‡āļĢāļ°āļ§āļąāļ‡āđ€āļĢāļ·āđˆāļ­āļ‡ Two’s Complement

5. āļ§āļīāļ˜āļĩāļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

āļāļēāļĢāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđƒāļ™āļ āļēāļĐāļē C āđ€āļ›āđ‡āļ™āļ—āļąāļāļĐāļ°āļŠāļģāļ„āļąāļāđƒāļ™āļāļēāļĢāļ­āļ­āļāđāļšāļšāđ‚āļ›āļĢāđāļāļĢāļĄāđāļĨāļ°āļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄ āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļˆāļ°āđāļ™āļ°āļ™āļģāļ§āļīāļ˜āļĩāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ”āđ‰āļ§āļĒāļĄāļ·āļ­āđāļĨāļ°āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ C āđ€āļžāļ·āđˆāļ­āļ—āļģāļāļēāļĢāđāļ›āļĨāļ‡

āļāļēāļĢāđāļ›āļĨāļ‡āļ”āđ‰āļ§āļĒāļĄāļ·āļ­

āļŦāļĨāļąāļāļāļēāļĢāļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļāļēāļĢāđāļ›āļĨāļ‡āļ„āļ·āļ­ āļ™āļģāļ„āđˆāļēāļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļšāļīāļ•āļ„āļđāļ“āļāļąāļš 2 āļĒāļāļāļģāļĨāļąāļ‡āļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡ āđāļĨāđ‰āļ§āļ™āļģāļĄāļēāļšāļ§āļāļāļąāļ™

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāđāļ›āļĨāļ‡:

  1. āđ€āļĢāļīāđˆāļĄāļˆāļēāļāļšāļīāļ•āļ‚āļ§āļēāļŠāļļāļ” (Least Significant Bit)
  2. āļ„āļđāļ“āļšāļīāļ•āļ™āļąāđ‰āļ™āļ”āđ‰āļ§āļĒ 2 āļĒāļāļāļģāļĨāļąāļ‡āļ•āļēāļĄāļ•āļģāđāļŦāļ™āđˆāļ‡
  3. āļĢāļ§āļĄāļ„āđˆāļēāļ‚āļ­āļ‡āļšāļīāļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ”

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡: āđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ â€œ1101” āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

  • āļšāļīāļ•āļ‚āļ§āļēāļŠāļļāļ” (1): (1 × 2^0 = 1)
  • āļšāļīāļ•āļ—āļĩāđˆ 2 āļˆāļēāļāļ‚āļ§āļē (0): (0 × 2^1 = 0)
  • āļšāļīāļ•āļ—āļĩāđˆ 3 āļˆāļēāļāļ‚āļ§āļē (1): (1 × 2^2 = 4)
  • āļšāļīāļ•āļ‹āđ‰āļēāļĒāļŠāļļāļ” (1): (1 × 2^3 = 8)

āļœāļĨāļĨāļąāļžāļ˜āđŒ: (8 + 4 + 0 + 1 = 13)

āđ‚āļ›āļĢāđāļāļĢāļĄ C āļŠāļģāļŦāļĢāļąāļšāđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļĢāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļĢāļđāļ›āđāļšāļšāļŠāļ•āļĢāļīāļ‡āđāļĨāđ‰āļ§āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš:

#include <stdio.h>
#include <string.h>
#include <math.h>

int binaryToDecimal(const char *binary) {
    int decimal = 0;
    int length = strlen(binary);

    for (int i = 0; i < length; i++) {
        if (binary[i] == '1') {
            decimal += pow(2, length - 1 - i);
        }
    }
    return decimal;
}

int main() {
    char binary[33]; // āļĢāļ­āļ‡āļĢāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļŠāļđāļ‡āļŠāļļāļ” 32 āļšāļīāļ•
    printf("āļ›āđ‰āļ­āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡: ");
    scanf("%s", binary);

    int decimal = binaryToDecimal(binary);
    printf("āļāļēāļ™āļŠāļīāļš: %d\n", decimal);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 1101
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļīāļš: 13

āļāļēāļĢāđāļ›āļĨāļ‡āļ”āđ‰āļ§āļĒāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•

āļŦāļēāļāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļ–āļđāļāđ€āļāđ‡āļšāđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđ€āļžāļ·āđˆāļ­āđāļ›āļĨāļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

#include <stdio.h>

int binaryToDecimalUsingBitwise(int binary) {
    int decimal = 0;
    int base = 1; // āđ€āļĢāļīāđˆāļĄāļˆāļēāļ 2^0

    while (binary > 0) {
        int lastBit = binary % 10;
        decimal += lastBit * base;
        base *= 2;
        binary /= 10;
    }

    return decimal;
}

int main() {
    int binary;
    printf("āļ›āđ‰āļ­āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ (āļ•āļąāļ§āđ€āļĨāļ‚): ");
    scanf("%d", &binary);

    int decimal = binaryToDecimalUsingBitwise(binary);
    printf("āļāļēāļ™āļŠāļīāļš: %d\n", decimal);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 1101
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļīāļš: 13

āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡

  1. āļĢāļđāļ›āđāļšāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĢāļąāļšāđ€āļ‚āđ‰āļē
  • āļŦāļēāļāđ€āļ›āđ‡āļ™āļŠāļ•āļĢāļīāļ‡ āļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļĩāļĨāļ°āļ•āļąāļ§āļ­āļąāļāļĐāļĢ
  • āļŦāļēāļāđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ āđƒāļŠāđ‰āļāļēāļĢāļŦāļēāļĢāđāļĨāļ°āļŦāļēāļĢāđ€āļ­āļēāđ€āļĻāļĐ
  1. āļāļēāļĢāļĨāđ‰āļ™āļ„āđˆāļē (Overflow)
  • āļ–āđ‰āļēāļ‚āđ‰āļ­āļĄāļđāļĨāļĒāļēāļ§āđ€āļāļīāļ™āļāļ§āđˆāļēāļ—āļĩāđˆāļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ int āđ€āļāđ‡āļšāđ„āļ”āđ‰ āđƒāļŦāđ‰āđƒāļŠāđ‰ long āļŦāļĢāļ·āļ­ long long
  1. āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ„āđˆāļēāļĨāļš
  • āļŦāļēāļāđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļšāļš Two’s Complement āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļ§āļīāļ˜āļĩāđāļ›āļĨāļ‡āļžāļīāđ€āļĻāļĐ

6. āļ§āļīāļ˜āļĩāļāļēāļĢāđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C

āļāļēāļĢāđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ”āļĩāļšāļąāļāļŦāļĢāļ·āļ­āļāļēāļĢāļ—āļģāđƒāļŦāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ‚āđ‰āļēāđƒāļˆāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āđ„āļĨāļšāļĢāļēāļĢāļĩāļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡ C āđ„āļĄāđˆāļĄāļĩāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŠāļģāļŦāļĢāļąāļšāļžāļīāļĄāļžāđŒāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ‚āļ”āļĒāļ•āļĢāļ‡ āļˆāļķāļ‡āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ—āļ„āļ™āļīāļ„āļžāļīāđ€āļĻāļĐ āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļˆāļ°āđāļ™āļ°āļ™āļģāļ•āļąāđ‰āļ‡āđāļ•āđˆāļ§āļīāļ˜āļĩāļžāļ·āđ‰āļ™āļāļēāļ™āļ”āđ‰āļ§āļĒ printf āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđ€āļ­āļ‡āđ€āļžāļ·āđˆāļ­āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™

āļāļēāļĢāđƒāļŠāđ‰ printf āđ€āļžāļ·āđˆāļ­āđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 1: āđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ€āļžāļ·āđˆāļ­āļžāļīāļĄāļžāđŒāļ—āļĩāļĨāļ°āļšāļīāļ•

āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ€āļžāļ·āđˆāļ­āļ”āļķāļ‡āļšāļīāļ•āļ­āļ­āļāļĄāļēāļžāļīāļĄāļžāđŒāļ—āļĩāļĨāļ°āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđƒāļ™āđ‚āļ„āđ‰āļ”āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡:

#include <stdio.h>

void printBinary(int num) {
    for (int i = 31; i >= 0; i--) { // āļŠāļĄāļĄāļ•āļīāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ 32 āļšāļīāļ•
        printf("%d", (num >> i) & 1);
    }
    printf("\n");
}

int main() {
    int value;
    printf("āļ›āđ‰āļ­āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ: ");
    scanf("%d", &value);

    printf("āļāļēāļ™āļŠāļ­āļ‡: ");
    printBinary(value);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 13
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļ­āļ‡: 00000000000000000000000000001101

āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āļˆāļ°āđāļŠāļ”āļ‡āļšāļīāļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ•āļēāļĄāļ‚āļ™āļēāļ”āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ āđ€āļŠāđˆāļ™ 32 āļšāļīāļ•

āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļŠāļ”āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļšāļšāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 2: āđāļŠāļ”āļ‡āđ€āļ‰āļžāļēāļ°āļšāļīāļ•āļ—āļĩāđˆāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡

āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļŠāļąāđ‰āļ™āļĨāļ‡āđ‚āļ”āļĒāļ•āļąāļ”āļĻāļđāļ™āļĒāđŒāļ™āļģāļŦāļ™āđ‰āļēāļ­āļ­āļ:

#include <stdio.h>

void printBinaryCompact(int num) {
    int leading = 1; // āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļąāļ”āļĻāļđāļ™āļĒāđŒāļ™āļģāļŦāļ™āđ‰āļē
    for (int i = 31; i >= 0; i--) {
        int bit = (num >> i) & 1;
        if (bit == 1) leading = 0;
        if (!leading || i == 0) printf("%d", bit);
    }
    printf("\n");
}

int main() {
    int value;
    printf("āļ›āđ‰āļ­āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ: ");
    scanf("%d", &value);

    printf("āļāļēāļ™āļŠāļ­āļ‡: ");
    printBinaryCompact(value);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 13
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļ­āļ‡: 1101

āļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨāđƒāļ™āļĢāļđāļ›āđāļšāļšāļŠāļ•āļĢāļīāļ‡

āļ§āļīāļ˜āļĩāļ—āļĩāđˆ 3: āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļŠāļ•āļĢāļīāļ‡āđāļĨāđ‰āļ§āđƒāļŠāđ‰āļ‡āļēāļ™

āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļŠāļ•āļĢāļīāļ‡āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ€āļžāļ·āđˆāļ­āļŠāđˆāļ‡āļ•āđˆāļ­āđƒāļŦāđ‰āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ­āļ·āđˆāļ™āļŦāļĢāļ·āļ­āđƒāļŠāđ‰āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš:

#include <stdio.h>
#include <string.h>

void getBinaryString(int num, char *binary) {
    int index = 0;
    for (int i = 31; i >= 0; i--) {
        binary[index++] = ((num >> i) & 1) + '0';
    }
    binary[index] = '\0';
}

int main() {
    int value;
    char binary[33];
    printf("āļ›āđ‰āļ­āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ: ");
    scanf("%d", &value);

    getBinaryString(value, binary);
    printf("āļāļēāļ™āļŠāļ­āļ‡: %s\n", binary);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 13
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļ­āļ‡: 00000000000000000000000000001101

āļāļēāļĢāļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđƒāļŦāđ‰āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™

āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļĨāļļāđˆāļĄāļšāļīāļ•āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™ āđ€āļŠāđˆāļ™ āđāļšāđˆāļ‡āđ€āļ›āđ‡āļ™ 4 āļšāļīāļ•āļ•āđˆāļ­āļāļĨāļļāđˆāļĄ:

#include <stdio.h>

void printBinaryWithGroups(int num) {
    for (int i = 31; i >= 0; i--) {
        printf("%d", (num >> i) & 1);
        if (i % 4 == 0 && i != 0) printf(" ");
    }
    printf("\n");
}

int main() {
    int value;
    printf("āļ›āđ‰āļ­āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄ: ");
    scanf("%d", &value);

    printf("āļāļēāļ™āļŠāļ­āļ‡: ");
    printBinaryWithGroups(value);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļ­āļīāļ™āļžāļļāļ•: 13
āđ€āļ­āļēāļ•āđŒāļžāļļāļ•: āļāļēāļ™āļŠāļ­āļ‡: 0000 0000 0000 0000 0000 0000 0000 1101

āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡

  1. āļ„āđˆāļēāļĨāļš
  • āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļ°āđāļŠāļ”āļ‡āļœāļĨāđƒāļ™āļĢāļđāļ›āđāļšāļš Two’s Complement
  1. āļ„āļ§āļēāļĄāļāļ§āđ‰āļēāļ‡āļ‚āļ­āļ‡āļšāļīāļ•
  • āļ„āļ§āļĢāļĢāļđāđ‰āļˆāļģāļ™āļ§āļ™āļšāļīāļ•āļ‚āļ­āļ‡āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ āđ€āļŠāđˆāļ™ int, long, unsigned int
  1. āļ„āļ§āļēāļĄāļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒ
  • āđ€āļžāļīāđˆāļĄāļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āļŦāļĢāļ·āļ­āļāļēāļĢāļˆāļąāļ”āļāļĨāļļāđˆāļĄāļšāļīāļ•āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ”āļđāļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™

7. āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļ•āļąāđ‰āļ‡āđāļ•āđˆāļžāļ·āđ‰āļ™āļāļēāļ™āļˆāļ™āļ–āļķāļ‡āļ‚āļąāđ‰āļ™āļ›āļĢāļ°āļĒāļļāļāļ•āđŒ

āđƒāļ™āļ āļēāļĐāļē C āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ• (Bitwise Operations) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ€āļŦāļĄāļēāļ°āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļĢāļ°āļ”āļąāļšāļ•āđˆāļģāđāļĨāļ°āļ‡āļēāļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡ āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļˆāļ°āļ­āļ˜āļīāļšāļēāļĒāļ•āļąāđ‰āļ‡āđāļ•āđˆāļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļˆāļĢāļīāļ‡

āļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•

āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļ„āļ·āļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļ°āļ”āļąāļšāļšāļīāļ•āļ‚āļ­āļ‡āļ•āļąāļ§āđ€āļĨāļ‚āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāđ‚āļ”āļĒāļ•āļĢāļ‡ āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāļŦāļĨāļąāļāđƒāļ™āļ āļēāļĐāļē C āđāļĨāļ°āļŦāļ™āđ‰āļēāļ—āļĩāđˆāļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļ•āļąāļ§

āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāļŦāļĨāļąāļāđāļĨāļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™

āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāļŠāļ·āđˆāļ­āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ (A = 5, B = 3)āļœāļĨāļĨāļąāļžāļ˜āđŒ
&ANDA & B (0101 & 0011)0001
|ORA | B (0101 | 0011)0111
^XORA ^ B (0101 ^ 0011)0110
~NOT (Complement)~A (~0101)1010
<<āđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ„āļ›āļ—āļēāļ‡āļ‹āđ‰āļēāļĒA << 1 (0101 << 1)1010
>>āđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ„āļ›āļ—āļēāļ‡āļ‚āļ§āļēA >> 1 (0101 >> 1)0010

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒ

AND (&): āļ„āļ·āļ™āļ„āđˆāļē 1 āļāđ‡āļ•āđˆāļ­āđ€āļĄāļ·āđˆāļ­āļšāļīāļ•āļ‚āļ­āļ‡āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ”āđ‰āļēāļ™āđ€āļ›āđ‡āļ™ 1

#include <stdio.h>
int main() {
    int a = 5; // 0101
    int b = 3; // 0011
    printf("A & B = %d\n", a & b); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 1 (0001)
    return 0;
}

OR (|): āļ„āļ·āļ™āļ„āđˆāļē 1 āļ–āđ‰āļēāļšāļīāļ•āđƒāļ”āļšāļīāļ•āļŦāļ™āļķāđˆāļ‡āđ€āļ›āđ‡āļ™ 1

printf("A | B = %d\n", a | b); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 7 (0111)

XOR (^): āļ„āļ·āļ™āļ„āđˆāļē 1 āļ–āđ‰āļēāļšāļīāļ•āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ•āđˆāļēāļ‡āļāļąāļ™

printf("A ^ B = %d\n", a ^ b); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 6 (0110)

NOT (~): āļāļĨāļąāļšāļ„āđˆāļēāļšāļīāļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ”

printf("~A = %d\n", ~a); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: -6 (āđƒāļ™āļĢāļđāļ›āđāļšāļš Two's Complement)

āđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āļ‹āđ‰āļēāļĒ (<<): āļ„āļđāļ“āļ„āđˆāļēāļ”āđ‰āļ§āļĒ 2

printf("A << 1 = %d\n", a << 1); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 10 (1010)

āđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āļ‚āļ§āļē (>>): āļŦāļēāļĢāļ„āđˆāļēāļ”āđ‰āļ§āļĒ 2 (āļ›āļąāļ”āđ€āļĻāļĐāļĨāļ‡)

printf("A >> 1 = %d\n", a >> 1); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 2 (0010)

āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•

āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļ–āļđāļāļ™āļģāļĄāļēāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ€āļŠāđˆāļ™ āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļ āļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒ

1. āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļāļ”āđ‰āļ§āļĒ Bit Mask

Bit Mask āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ€āļāđ‡āļšāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļ°āđ„āļ§āđ‰āđƒāļ™āļ•āļąāļ§āđāļ›āļĢāđ€āļ”āļĩāļĒāļ§

#include <stdio.h>
#define FLAG_A 0x01 // 0001
#define FLAG_B 0x02 // 0010
#define FLAG_C 0x04 // 0100
#define FLAG_D 0x08 // 1000

int main() {
    int flags = 0;

    // āļ•āļąāđ‰āļ‡āļ„āđˆāļēāđāļŸāļĨāđ‡āļ
    flags |= FLAG_A; 
    flags |= FLAG_C; 
    printf("Flags: %d\n", flags); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 5 (0101)

    // āļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļŸāļĨāđ‡āļ
    if (flags & FLAG_A) printf("FLAG_A is ON\n");
    if (flags & FLAG_B) printf("FLAG_B is ON\n");

    // āļ›āļīāļ”āđāļŸāļĨāđ‡āļ
    flags &= ~FLAG_A; 
    printf("Flags: %d\n", flags); // āļœāļĨāļĨāļąāļžāļ˜āđŒ: 4 (0100)

    return 0;
}

2. āļāļēāļĢāļŠāļĨāļąāļšāļšāļīāļ• (Toggle)

#include <stdio.h>
int main() {
    int value = 5;      // 0101
    int toggleBit = 1;  // 0001

    value ^= toggleBit; // āļŠāļĨāļąāļšāļšāļīāļ•āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡ 1
    printf("Value after toggle: %d\n", value);
    return 0;
}

3. āļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āđāļĨāļ°āļāļđāđ‰āļ„āļ·āļ™āļ‚āđ‰āļ­āļĄāļđāļĨ

#include <stdio.h>
int main() {
    int compressed = 0;

    compressed |= (3 << 4); 
    compressed |= 5;       

    printf("Compressed: %d\n", compressed);

    int upper = (compressed >> 4) & 0xF;
    int lower = compressed & 0xF;
    printf("Upper: %d, Lower: %d\n", upper, lower);

    return 0;
}

āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡

  1. āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ: āļĢāļ°āļ§āļąāļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļāļąāļšāļ„āđˆāļēāļĨāļšāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļš Two’s Complement
  2. āļ„āļ§āļēāļĄāļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒ: āđƒāļŠāđ‰āļ„āļ­āļĄāđ€āļĄāļ™āļ•āđŒāļŦāļĢāļ·āļ­āļĄāļēāđ‚āļ„āļĢāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āđ€āļ‚āđ‰āļēāđƒāļˆāļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
  3. āļāļēāļĢāļĨāđ‰āļ™āļšāļīāļ•: āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ€āļāļīāļ™āļ‚āļ™āļēāļ”āļšāļīāļ•āļ‚āļ­āļ‡āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļ°āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđ„āļĄāđˆāļ„āļēāļ”āļ„āļīāļ”

8. āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡: āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡

āđƒāļ™āļ āļēāļĐāļē C āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļĨāļ°āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļĄāļēāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āđƒāļ™āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļˆāļĢāļīāļ‡āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđ€āļ—āļ„āļ™āļīāļ„āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļĄāļĩāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāđƒāļ™āļ‡āļēāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļĄāļīāđˆāļ‡āļĢāļ°āļ”āļąāļšāļ•āđˆāļģāđāļĨāļ°āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļđāļ‡ āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰āđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļ‡āļēāļ™

1. āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ•āļąāļ§āļ™āļąāļšāđāļšāļšāļāļēāļ™āļŠāļ­āļ‡ (Binary Counter)

āļ•āļąāļ§āļ™āļąāļšāđāļšāļšāļāļēāļ™āļŠāļ­āļ‡āđƒāļŠāđ‰āđāļ—āļ™āļ„āđˆāļēāļ”āđ‰āļ§āļĒāļšāļīāļ•āđāļĨāļ°āđ€āļžāļīāđˆāļĄāļ„āđˆāļēāļ”āđ‰āļ§āļĒāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ• āđ€āļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļ™āļĨāļđāļ›āļŦāļĢāļ·āļ­āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŠāļ–āļēāļ™āļ°

#include <stdio.h>

void binaryCounter(int limit) {
    for (int i = 0; i <= limit; i++) {
        printf("āļāļēāļ™āļŠāļīāļš: %d, āļāļēāļ™āļŠāļ­āļ‡: ", i);
        for (int j = 31; j >= 0; j--) {
            printf("%d", (i >> j) & 1);
        }
        printf("\n");
    }
}

int main() {
    int count = 10;
    printf("āļ™āļąāļšāļāļēāļ™āļŠāļ­āļ‡āļ•āļąāđ‰āļ‡āđāļ•āđˆ 0 āļ–āļķāļ‡ %d:\n", count);
    binaryCounter(count);
    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļāļēāļ™āļŠāļīāļš: 0, āļāļēāļ™āļŠāļ­āļ‡: 00000000000000000000000000000000
āļāļēāļ™āļŠāļīāļš: 1, āļāļēāļ™āļŠāļ­āļ‡: 00000000000000000000000000000001
...
āļāļēāļ™āļŠāļīāļš: 10, āļāļēāļ™āļŠāļ­āļ‡: 00000000000000000000000000001010

2. āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ”āđ‰āļ§āļĒ Bit Field

Bit Field āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļšāļĩāļšāļ­āļąāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļ°āļ āļēāļĒāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđ€āļžāļĩāļĒāļ‡āđ€āļĨāđ‡āļāļ™āđ‰āļ­āļĒ

#include <stdio.h>

// āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāđƒāļŠāđ‰ Bit Field
struct Flags {
    unsigned int flagA : 1; // 1 āļšāļīāļ•
    unsigned int flagB : 1; // 1 āļšāļīāļ•
    unsigned int flagC : 1; // 1 āļšāļīāļ•
    unsigned int reserved : 5; // āļŠāļģāļĢāļ­āļ‡ 5 āļšāļīāļ•
};

int main() {
    struct Flags flags = {0};

    // āļ•āļąāđ‰āļ‡āļ„āđˆāļēāđāļŸāļĨāđ‡āļ
    flags.flagA = 1;
    flags.flagB = 0;
    flags.flagC = 1;

    printf("FlagA: %d, FlagB: %d, FlagC: %d\n", flags.flagA, flags.flagB, flags.flagC);

    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

FlagA: 1, FlagB: 0, FlagC: 1

3. āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļšāļīāļ•āđ€āļ‰āļžāļēāļ°āļ•āļģāđāļŦāļ™āđˆāļ‡

āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļšāļīāļ•āļ•āļģāđāļŦāļ™āđˆāļ‡āđƒāļ”āļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ­āļĒāļđāđˆāļŦāļĢāļ·āļ­āđ„āļĄāđˆ āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļ‡āļēāļ™āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āđāļĨāļ°āļāļēāļĢāļ”āļĩāļšāļąāļ

#include <stdio.h>

int isBitSet(int value, int position) {
    return (value & (1 << position)) != 0;
}

int main() {
    int value = 42; // āļāļēāļ™āļŠāļ­āļ‡: 101010
    int position = 3;

    if (isBitSet(value, position)) {
        printf("āļšāļīāļ• %d āļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļ™ %d\n", position, value);
    } else {
        printf("āļšāļīāļ• %d āđ„āļĄāđˆāļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļ™ %d\n", position, value);
    }

    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

āļšāļīāļ• 3 āļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāđƒāļ™ 42

4. āļāļēāļĢāļ„āļģāļ™āļ§āļ“ Subnet Mask āļ‚āļ­āļ‡ IP Address

āđƒāļ™āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ āļāļēāļĢāļ„āļģāļ™āļ§āļ“ Subnet Mask āļĄāļąāļāđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•

#include <stdio.h>

unsigned int generateSubnetMask(int prefix) {
    return (0xFFFFFFFF << (32 - prefix));
}

void printBinary(unsigned int value) {
    for (int i = 31; i >= 0; i--) {
        printf("%d", (value >> i) & 1);
        if (i % 8 == 0 && i != 0) printf(" ");
    }
    printf("\n");
}

int main() {
    int prefix = 24;
    unsigned int mask = generateSubnetMask(prefix);

    printf("Subnet Mask (Prefix %d):\n", prefix);
    printBinary(mask);

    return 0;
}

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļœāļĨāļĨāļąāļžāļ˜āđŒ:

Subnet Mask (Prefix 24):
11111111 11111111 11111111 00000000

āļ‚āđ‰āļ­āļ„āļ§āļĢāļĢāļ°āļ§āļąāļ‡

  1. āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ‚āļ­āļ‡āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ: āļĢāļ°āļ§āļąāļ‡āļ­āļĒāđˆāļēāđƒāļŦāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđ€āļāļīāļ™āļ‚āļ™āļēāļ”āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ
  2. āļ„āļ§āļēāļĄāļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļ­āļ‡āđ‚āļ„āđ‰āļ”: āđƒāļŠāđˆāļ„āļ­āļĄāđ€āļĄāļ™āļ•āđŒāđāļĨāļ°āļ•āļąāđ‰āļ‡āļŠāļ·āđˆāļ­āļ•āļąāļ§āđāļ›āļĢāđƒāļŦāđ‰āļŠāļ·āđˆāļ­āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ
  3. āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ: āļ•āđ‰āļ­āļ‡āļžāļīāļˆāļēāļĢāļ“āļēāļšāļīāļ•āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđ€āļĄāļ·āđˆāļ­āļ—āļģāļ‡āļēāļ™āļāļąāļšāļ„āđˆāļēāļĨāļš

9. āļ„āļģāļ–āļēāļĄāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ (FAQ): āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C

āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āļœāļđāđ‰āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļˆāļ™āļ–āļķāļ‡āļĢāļ°āļ”āļąāļšāļāļĨāļēāļ‡āļĄāļąāļāļˆāļ°āļĄāļĩāļ„āļģāļ–āļēāļĄāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™ āļŠāđˆāļ§āļ™āļ™āļĩāđ‰āļˆāļ°āļĢāļ§āļšāļĢāļ§āļĄāļ„āļģāļ–āļēāļĄāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒāļžāļĢāđ‰āļ­āļĄāļ„āļģāļ•āļ­āļšāđāļĨāļ°āļ§āļīāļ˜āļĩāđāļāđ‰āđ„āļ‚

Q1: āđƒāļ™āļ āļēāļĐāļē C āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ‚āļ”āļĒāļ•āļĢāļ‡āđ„āļ”āđ‰āļŦāļĢāļ·āļ­āđ„āļĄāđˆ?

āļ„āļģāļ•āļ­āļš:

āļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡āļ āļēāļĐāļē C āđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđ‚āļ”āļĒāļ•āļĢāļ‡ āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āđāļ—āļ™āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļ§āļīāļ˜āļĩāļ­āļ·āđˆāļ™

āļ§āļīāļ˜āļĩāđāļāđ‰:

  1. āđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāļŦāļ
    āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļĨāļ°āļāļēāļ™āļŠāļīāļšāļŦāļāļĄāļĩāļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļąāļ™ āđ‚āļ”āļĒ 1 āļŦāļĨāļąāļāļāļēāļ™āļŠāļīāļšāļŦāļāđ€āļ—āđˆāļēāļāļąāļš 4 āļšāļīāļ•āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āđ€āļŠāđˆāļ™ 0b1010 (āļāļēāļ™āļŠāļ­āļ‡) āđ€āļ‚āļĩāļĒāļ™āđ€āļ›āđ‡āļ™ 0xA (āļāļēāļ™āļŠāļīāļšāļŦāļ)
  2. āđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•
    āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļ„āđˆāļēāļāļēāļ™āļŠāļ­āļ‡āđ‚āļ”āļĒāļāļēāļĢāđƒāļŠāđ‰āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•
int value = (1 << 3) | (1 << 1); // 1010 āđƒāļ™āļāļēāļ™āļŠāļ­āļ‡
  1. āđƒāļŠāđ‰āđāļĄāđ‚āļ„āļĢāļŦāļĢāļ·āļ­āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŠāđˆāļ§āļĒ
    āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ‚āļ„āđ‰āļ”āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™

Q2: āļ•āđ‰āļ­āļ‡āļĢāļ°āļ§āļąāļ‡āļ­āļ°āđ„āļĢāļšāđ‰āļēāļ‡āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡?

āļ„āļģāļ•āļ­āļš:

āļ„āļ§āļĢāļžāļīāļˆāļēāļĢāļ“āļēāđ€āļĢāļ·āđˆāļ­āļ‡āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰:

  1. āļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ
    āđ€āļŠāđˆāļ™ int āļ›āļāļ•āļī 32 āļšāļīāļ• āļĄāļĩāļ„āđˆāļēāļ•āļąāđ‰āļ‡āđāļ•āđˆ -2,147,483,648 āļ–āļķāļ‡ 2,147,483,647
  2. āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāđāļĨāļ°āđ„āļĄāđˆāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒ
    āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļ°āđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļš Two’s Complement
  3. āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ€āļāļīāļ™āļ‚āļ™āļēāļ”
    āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āđ€āļāļīāļ™āļ„āļ§āļēāļĄāļĒāļēāļ§āļšāļīāļ•āļ‚āļ­āļ‡āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļ°āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđ„āļĄāđˆāļ„āļēāļ”āļ„āļīāļ”

Q3: āļˆāļ°āđāļāđ‰āđ„āļ‚āļšāļīāļ•āđ€āļžāļĩāļĒāļ‡āļšāļēāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš:

āđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļ”āļąāļ‡āļ™āļĩāđ‰:

  1. āļ•āļąāđ‰āļ‡āļšāļīāļ• (āđ€āļ›āđ‡āļ™ 1)
value |= (1 << n);
  1. āļĨāļšāļšāļīāļ• (āđ€āļ›āđ‡āļ™ 0)
value &= ~(1 << n);
  1. āļŠāļĨāļąāļšāļšāļīāļ• (Toggle)
value ^= (1 << n);

Q4: āļ—āļģāđ„āļĄāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āļāļąāļšāļ„āđˆāļēāļĨāļšāļˆāļķāļ‡āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ•āđˆāļēāļ‡āđ„āļ›?

āļ„āļģāļ•āļ­āļš:

āđ€āļžāļĢāļēāļ°āļ āļēāļĐāļē C āđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļš Two’s Complement āđƒāļ™āļāļēāļĢāđ€āļāđ‡āļšāļ„āđˆāļēāļĨāļš āļ—āļģāđƒāļŦāđ‰āļšāļīāļ•āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ–āļđāļāļ™āļģāļĄāļēāļžāļīāļˆāļēāļĢāļ“āļēāļ”āđ‰āļ§āļĒ

āļ§āļīāļ˜āļĩāđāļāđ‰:

  1. āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāđ„āļĄāđˆāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļāđˆāļ­āļ™āļ—āļģāļ‡āļēāļ™
unsigned int uValue = (unsigned int)value;

Q5: āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļš â†” āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļŦāļĢāļ·āļ­āđ„āļĄāđˆ?

āļ„āļģāļ•āļ­āļš:

āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡:

āđāļ›āļĨāļ‡āļāļēāļ™āļŠāļīāļšāđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļ­āļ‡

void decimalToBinary(int num) {
    for (int i = 31; i >= 0; i--) {
        printf("%d", (num >> i) & 1);
    }
    printf("\n");
}

āđāļ›āļĨāļ‡āļāļēāļ™āļŠāļ­āļ‡āđ€āļ›āđ‡āļ™āļāļēāļ™āļŠāļīāļš

#include <stdio.h>
#include <math.h>

int binaryToDecimal(const char *binary) {
    int decimal = 0;
    int length = strlen(binary);
    for (int i = 0; i < length; i++) {
        if (binary[i] == '1') {
            decimal += pow(2, length - 1 - i);
        }
    }
    return decimal;
}

Q6: āļ‚āđ‰āļ­āļ”āļĩāļ‚āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ Bit Field āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš:

  1. āļ›āļĢāļ°āļŦāļĒāļąāļ”āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ: āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™āļšāļīāļ•
  2. āđ‚āļ„āđ‰āļ”āļ­āđˆāļēāļ™āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™: āļŠāļąāļ”āđ€āļˆāļ™āļāļ§āđˆāļēāļāļēāļĢāđƒāļŠāđ‰āđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒāļšāļīāļ•āđ‚āļ”āļĒāļ•āļĢāļ‡

Q7: āļ§āļīāļ˜āļĩāļāļēāļĢāļ”āļĩāļšāļąāļāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđƒāļŦāđ‰āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž?

āļ„āļģāļ•āļ­āļš:

  1. āļžāļīāļĄāļžāđŒāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āļ­āļ­āļāļĄāļēāļ•āļĢāļ§āļˆāļŠāļ­āļš
void printBinary(int value) {
    for (int i = 31; i >= 0; i--) {
        printf("%d", (value >> i) & 1);
    }
    printf("\n");
}
  1. āđƒāļŠāđ‰ Debugger: āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āđˆāļēāļšāļīāļ•āđāļĨāļ°āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ

10. āļŠāļĢāļļāļ›āđāļĨāļ°āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ–āļąāļ”āđ„āļ›

āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāļ§āļīāļ˜āļĩāļˆāļąāļ”āļāļēāļĢāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļ°āļ”āļąāļšāļ•āđˆāļģ āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āđ„āļ”āđ‰āļ­āļ˜āļīāļšāļēāļĒāļ•āļąāđ‰āļ‡āđāļ•āđˆāļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡ āļ§āļīāļ˜āļĩāļāļēāļĢāđāļŠāļ”āļ‡āđƒāļ™āļ āļēāļĐāļē C āļāļēāļĢāđāļ›āļĨāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđāļĨāļ°āļāļēāļ™āļŠāļ­āļ‡ āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđƒāļ™āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒāļˆāļĢāļīāļ‡

āļŠāļĢāļļāļ›āđ€āļ™āļ·āđ‰āļ­āļŦāļē

  1. āđ€āļ‚āđ‰āļēāđƒāļˆāļžāļ·āđ‰āļ™āļāļēāļ™āļ‚āļ­āļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡
  • āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ‚āđ‰āļ­āļĄāļđāļĨ āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļšāđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđāļĨāļ°āļāļēāļ™āļŠāļīāļšāļŦāļāđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļ
  1. āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C
  • āđāļĄāđ‰āđ„āļĄāđˆāļĄāļĩāļĨāļīāđ€āļ—āļ­āļĢāļąāļĨāļāļēāļ™āļŠāļ­āļ‡āđ‚āļ”āļĒāļ•āļĢāļ‡ āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļēāļĢāđ€āļĨāļ·āđˆāļ­āļ™āļšāļīāļ•āļŦāļĢāļ·āļ­āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŠāđˆāļ§āļĒāđ„āļ”āđ‰
  1. āļāļēāļĢāđāļ›āļĨāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ€āļĨāļ‚āļāļēāļ™āļŠāļīāļšāđāļĨāļ°āļāļēāļ™āļŠāļ­āļ‡
  • āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ§āļīāļ˜āļĩāđāļ›āļĨāļ‡āļ—āļąāđ‰āļ‡āđāļšāļšāļ—āļģāļ”āđ‰āļ§āļĒāļĄāļ·āļ­āđāļĨāļ°āļ”āđ‰āļ§āļĒāđ‚āļ„āđ‰āļ” āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™
  1. āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ°āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•
  • āđ€āļ‚āđ‰āļēāđƒāļˆāđ‚āļ­āđ€āļ›āļ­āđ€āļĢāđ€āļ•āļ­āļĢāđŒ AND, OR, XOR, NOT, Shift āđāļĨāļ°āļāļēāļĢāļ™āļģāđ„āļ›āđƒāļŠāđ‰āļˆāļĢāļīāļ‡ āđ€āļŠāđˆāļ™ āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļāđāļĨāļ°āļāļēāļĢāļšāļĩāļšāļ­āļąāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ
  1. āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡
  • āđ€āļŠāđˆāļ™ āļ•āļąāļ§āļ™āļąāļšāļāļēāļ™āļŠāļ­āļ‡, Bit Field, āļāļēāļĢāļ„āļģāļ™āļ§āļ“ Subnet Mask āđƒāļ™āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļ—āļĩāđˆāļ„āļ§āļĢāđ€āļĢāļĩāļĒāļ™āļ•āđˆāļ­

āļŦāļĨāļąāļ‡āļˆāļēāļāđ€āļ‚āđ‰āļēāđƒāļˆāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđƒāļ™āļ āļēāļĐāļē C āđāļĨāđ‰āļ§ āļŠāļēāļĄāļēāļĢāļ–āļžāļąāļ’āļ™āļēāļ—āļąāļāļĐāļ°āļ•āđˆāļ­āđ„āļ›āļ™āļĩāđ‰:

  1. āļāļēāļĢāđƒāļŠāđ‰ Pointer āļĢāđˆāļ§āļĄāļāļąāļšāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•
  2. āļāļēāļĢāļ­āļ­āļāđāļšāļšāļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄ: āđƒāļŠāđ‰āđ€āļ—āļ„āļ™āļīāļ„ Bit Manipulation āđ€āļžāļ·āđˆāļ­āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž
  3. āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ: āļ„āļģāļ™āļ§āļ“ IP āđāļĨāļ°āļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āļĢāļ°āļ”āļąāļšāđāļžāđ‡āļāđ€āļāđ‡āļ•
  4. āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ Embedded: āļ„āļ§āļšāļ„āļļāļĄāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđ‚āļ”āļĒāļ•āļĢāļ‡
  5. āļāļēāļĢāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļ™ C++: āđƒāļŠāđ‰āļ„āļĨāļēāļŠāđāļĨāļ°āđ€āļ—āļĄāđ€āļžāļĨāļ•āđ€āļžāļ·āđˆāļ­āļ—āļģāļ‡āļēāļ™āļāļąāļšāļšāļīāļ•āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­āđāļ™āļ°āļŠāļģāļŦāļĢāļąāļšāļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ–āļąāļ”āđ„āļ›

  • āļĨāļ‡āļĄāļ·āļ­āđ€āļ‚āļĩāļĒāļ™āđ‚āļ„āđ‰āļ”āļˆāļĢāļīāļ‡
    āļ™āļģāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāđ„āļ›āļ›āļĢāļąāļšāđƒāļŠāđ‰āđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ‚āļ­āļ‡āļ„āļļāļ“
  • āļāļķāļāđāļāđ‰āđ‚āļˆāļ—āļĒāđŒ
    āđƒāļŠāđ‰āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒāđ€āļŠāđˆāļ™ LeetCode āļŦāļĢāļ·āļ­ AtCoder āđ€āļžāļ·āđˆāļ­āļāļķāļāđ‚āļˆāļ—āļĒāđŒāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•
  • āļŠāļĢāđ‰āļēāļ‡āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ‚āļ­āļ‡āļ•āļ™āđ€āļ­āļ‡
    āđ€āļŠāđˆāļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđāļ›āļĨāļ‡āđ€āļĨāļ‚āļāļēāļ™, āļ•āļąāļ§āļ™āļąāļšāļšāļīāļ•, āļŦāļĢāļ·āļ­āļĢāļ°āļšāļšāļˆāļąāļ”āļāļēāļĢāđāļŸāļĨāđ‡āļ

āļŦāļ§āļąāļ‡āļ§āđˆāļēāļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļˆāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āđ€āļ‚āđ‰āļēāđƒāļˆāļāļēāļĢāđƒāļŠāđ‰āđ€āļĨāļ‚āļāļēāļ™āļŠāļ­āļ‡āđāļĨāļ°āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļšāļīāļ•āđƒāļ™āļ āļēāļĐāļē C āđ„āļ”āđ‰āļ”āļĩāļĒāļīāđˆāļ‡āļ‚āļķāđ‰āļ™ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āļ›āļĢāļ°āļĒāļļāļāļ•āđŒāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđ‚āļ›āļĢāđāļāļĢāļĄāļ‚āļ­āļ‡āļ„āļļāļ“āļ•āđˆāļ­āđ„āļ›

åđī収čĻīæą‚