(1251062669さん)
例:
#include<stdio.h>
void dspBIN(unsigned char n){
unsigned char b=0b10000000;
int i;
for(i=0;i<8;i++){
putchar((n&b?'1':'0'));
b >>= 1;
}
}
void dsp(char *t,unsigned char n){
printf("%s %3d(0x%02X/",t,n,n);
dspBIN(n);
puts(")");
}
int main(void) {
int i, k;
char s[10];
unsigned char b, m;
printf("BIN > ");
scanf("%[01]8s", s);
m=0b10000000;
b=0;
for(i=0; i<8; i++) {
if(s[i]=='1')b |= m;
m >>= 1;
}
dsp("input :",b);
b |= 0b10000001;
dsp("output:",b);
return 0;
}
~~~~~~~~~~~~~~~~~~~~
BIN > 00001000
input : 8(0x08/00001000)
output: 137(0x89/10001001)
BIN > 00110001
input : 49(0x31/00110001)
output: 177(0xB1/10110001)