How to print the bits of a character in Go

1 Answer

0 votes
package main

import (
	"fmt"
)

/*
CharToBits converts a character to its 8-bit binary representation.

Parameters:
  - ch: the character to convert

Returns:
  - An 8-bit binary string.
*/
func CharToBits(ch byte) string {
	result := ""

	// Extract bits from most significant to least significant.
	for i := 7; i >= 0; i-- {
		if (ch>>i)&1 == 1 {
			result += "1"
		} else {
			result += "0"
		}
	}

	return result
}

/*
PrintCharacterBits prints a character, its decimal value,
and its binary representation.
*/
func PrintCharacterBits(ch byte) {
	fmt.Printf("Character: '%c'\n", ch)
	fmt.Printf("Decimal  : %d\n", ch)
	fmt.Printf("Binary   : %s\n", CharToBits(ch))
}

func main() {
	// Usage examples.

	PrintCharacterBits('A')
	fmt.Println()

	PrintCharacterBits('a')
	fmt.Println()

	PrintCharacterBits('5')
	fmt.Println()

	PrintCharacterBits('@')
}


/*
run:

Character: 'A'
Decimal  : 65
Binary   : 01000001

Character: 'a'
Decimal  : 97
Binary   : 01100001

Character: '5'
Decimal  : 53
Binary   : 00110101

Character: '@'
Decimal  : 64
Binary   : 01000000

*/

 



answered Oct 16 by avibootz
...