在 C 中使用 base-2
Working with base-2 in C
前段时间我收到了 answer 这个问题。是的,我们可以将十六进制格式的数字定义为 int a=0x12;
。有一些技巧可以将 1011
转换为 11。数据作为普通的 base-10 数字传递。
这是我的问题:我们如何在 C 中使用 base-2 数字?目标是使用 快如闪电 处理添加一些数字。
任何文字数字在编译期间都会被转换为计算机的本机格式(二进制)。
不管你的文字使用哪个基数,一旦程序运行,数字就完全一样了。
如果你这样做:
int a = 4711;
程序运行后,数字“4711”不会以十进制形式存储在任何地方。
如果你对它做算术:
int b = 42;
printf("4711+42=%d\n", a + b);
计算机不是做"decimal arithmetic",它正在添加本机(二进制)数字。
前段时间我收到了 answer 这个问题。是的,我们可以将十六进制格式的数字定义为 int a=0x12;
。有一些技巧可以将 1011
转换为 11。数据作为普通的 base-10 数字传递。
这是我的问题:我们如何在 C 中使用 base-2 数字?目标是使用 快如闪电 处理添加一些数字。
任何文字数字在编译期间都会被转换为计算机的本机格式(二进制)。
不管你的文字使用哪个基数,一旦程序运行,数字就完全一样了。
如果你这样做:
int a = 4711;
程序运行后,数字“4711”不会以十进制形式存储在任何地方。
如果你对它做算术:
int b = 42;
printf("4711+42=%d\n", a + b);
计算机不是做"decimal arithmetic",它正在添加本机(二进制)数字。