有没有办法让用户在C或C ++中输入二进制数?
如果我们写类似的东西
int a = 0b1010; std::cout << a << std::endl
然后输出结果为10(使用适当的编译器扩展时)。
但是当我们试着写的时候
int n; std::cin >> n; int t = 0bn;
它给了我们一个错误,所以任何人都可以建议我们如何直接读取二进制数作为输入而不是使用字符串来存储输入?
这里有点混乱,让我们稍微解开它。
虽然没有直接读取二进制数的function, strtox
有一些函数strtox
(其中x表示数据类型)将包含二进制数(或任何其他基数)的字符串转换为数值。
因此解决方案是首先将数字作为字符串读取然后转换它。
例:
char input[100]; char *endpointer; int n = (int) strtol(input, &endpointer, 2);
而是自己做:
需要了解更多c/c++开发分享如何读取二进制数作为输入?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
uint32_t a = 0; char c; while ((c = getchar()) != 'n') { // read a line char by char a <<= 1; // shift the uint32 a bit left a += (c - '0') & 1; // convert the char to 0/1 and put it at the end of the binary } printf("%un", a);
以上就是c/c++开发分享如何读取二进制数作为输入?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/980479.html