腾讯云服务器优惠,项链seo关键词,学做视频的网站有哪些内容,360开户面试题 05.02. 二进制数转字符串
二进制数转字符串。给定一个介于0和1之间的实数#xff08;如0.72#xff09;#xff0c;类型为double#xff0c;打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示#xff0c;则打印“ERROR”。
示例1:
输入#x…面试题 05.02. 二进制数转字符串
二进制数转字符串。给定一个介于0和1之间的实数如0.72类型为double打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示则打印“ERROR”。
示例1:
输入0.625 输出“0.101”
示例2:
输入0.1 输出“ERROR” 提示0.1无法被二进制准确表示
这题没什么难度的解题代码如下
char* printBin(double num){double a0.5;char *re(char *)malloc(sizeof(char)*35);re[0]0;re[1].;int p2;for(int i0;i32;i,p){if(numa){re[p]1;re[p]\0;return re;}if(numa){numnum-a;re[p]1;aa/2;}else{re[p]0;aa/2;}}return ERROR;
}