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
*/