c语言二进制数按位输出示例
提出问题:
1.输入int 20,其二进制为10100,按位输出10100;
2.或者将1转化为“+”,0转化为“-”,输出就是” + - + - - “;
int biTofh(int bi,int len){//二进制转化为正负号
int i=0;
while(i<len){
int tmp = 1;
if((bi & (tmp<<(len-i-1))) != 0){//从最左位开始比较,该位是1
printf(" + ");
}
else{
printf(" - ");
}
i++;
}
printf("\n");
return 0;
}
int main(){
int input[] = {1,2,3,4,5};
biTofh(20,5);
return 0;
}
xu@xu-ThinkPad-X61:~/algorithm$ ./a.out
+ - + - -
xu@xu-ThinkPad-X61:~/algorithm$
相关推荐
-
C语言采用文本方式和二进制方式打开文件的区别分析
稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制)打开这个文件,用什么函数读写这个文件(读写函数),怎么判断读到这个文件结尾等. 具体分析如下: 一.以哪种方式打开一个文件: ANSI C规定了标准输入输出函数库,用 fopen()函数打开文件.fopen()函数的调用方式一般为: FILE *fp; fp=fopen(文件名,使用文件方式):
-
php读取二进制流(C语言结构体struct数据文件)的深入解析
尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] ) //Pack given arguments into binary string according to format. array unp
-
编写C语言程序进行进制转换的问题实例
题目 题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出. 输出: 输出X的N进制表示的数. 样例输入: 16 10 F 样例输出: 15 提示: 输入时字母部分为大写,输出时为小写,并且有大数据. 思路 大整数乘法
-
c语言中十进制转二进制显示小工具的实现代码
计算器在显示二进制位数时候,如果开头是0.是不会显示的,对于在单片机混的人,这个有时候很麻烦,所以写个小工具. 功能就是输入十进制数字,然后显示出2进制,每显示4位一次空格,可以调整位数范围(8的倍数) 如果有谁能知道linux下类似win7的那个计算器,麻烦回复告知一下吧.很是感谢~ 例如: $ dec2bin 1 135Num 8 Binary is : 0B1000 0111done!=============================== $ dec2bin 2 135Num 16
-
C语言中进制知识汇总
1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数是以8为计算单元,满8进1位的数. 对于任何一个数字,我们都可以用不同的进制来表示,比如,十进制数12,用二进制表示为1100,用八进制表示为14,用十六进制表示为0xC. 2.进制的转换规则 遵循满进制值进1位,个位数变为0的原理,下面我们以十进制数18为例,对1-18中每一个数值转换各种进制做一
-
C语言十进制转二进制代码实例
用C语言实现将十进制转化为二进制,并统计转换后的二进制码中1的个数. #include <stdio.h> int binaryNum[16]; //存放转换后得到的二进制码 int count=0; //计数十进制整数被2除的次数 int oneCount=0; //得到的二进制码中1的个数 void main(){ int num; printf("输入一个十进制的整数:"); scanf("%d",&num); while( (num/2)
-
c语言中十六进制转二进制显示的实现方法
复制代码 代码如下: //====================================== //输出格式: hex2bin 5e. //得到: 0101 1110 //====================================== #include <stdio.h>#include <limits.h> char *bitstr(char *, void const *, size_t); int main(int argc, char **argv){
-
c语言二进制数按位输出示例
提出问题: 1.输入int 20,其二进制为10100,按位输出10100; 2.或者将1转化为"+",0转化为"-",输出就是" + - + - - "; 解决方法: 复制代码 代码如下: int biTofh(int bi,int len){//二进制转化为正负号 int i=0; while(i<len){ int tmp = 1; if((bi
-
c语言double类型默认输出小数几位
C语言中常用的小数有两种类型,分别是 float 或 double:float 称为单精度浮点型,double 称为双精度浮点型.不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占用4个字节,double 始终占用8个字节. c语言double类型默认输出几位小数? C语言中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位小数(不足六位以 0 补齐,超过六位按四舍五入截断). double a = 1; printf("%lf\n"
-
Go语言实现彩色输出示例详解
目录 简介 说明 支持Linux彩色输出 支持Windows彩色输出 Golang IDE输出是不支持的 使用 CODE DEMO 小结 简介 在逛github时发现一个好玩的Go项目,彩色输出文本 说明 支持Linux彩色输出 支持Windows彩色输出 Golang IDE输出是不支持的 使用 效果图 CODE DEMO package main import ( "fmt" "github.com/fatih/color" ) func main() { co
-
C语言算法积累分离数位示例
题目:输出一个三位整数的个.十.百位数. 关键字:得到数位 思路: Q:如何利用简单的基本运算来得到一个数字的各个数位上的数字? A:利用除法和求余运算:以153为例 首先,百位最容易得到:153/100=1.任何三位数除以100都是得到其百位的数字 其次,个位也好弄:153%10=3.任何三位数对10取余都是其个位数. 最后,十位数有四个方法. 最好想的: 1.用(原三位数—百位数* 100—个位数 * 1)/10 153-1X100-1X3=50; 50/10=5 2.将原三位数对100取余
-
go语言题解LeetCode66加一示例详解
目录 题目描述 思路分析 AC 代码 小结 JavaScript 66题 代码 python3 循环判断 分析: JAVA解决进位问题 解题思路 代码 题目描述 原题链接 : 66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123. 示例 2:
-
Go语言题解LeetCode455分发饼干示例详解
目录 题目描述 思路分析 AC 代码 分发饼干 贪心算法 解题思路 代码 题目描述 原题链接 : 455. 分发饼干 - 力扣(LeetCode) (leetcode-cn.com) 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干. 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 j,都有一个尺寸 s[j] .如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足.你的目标
-
go语言题解LeetCode506相对名次示例详解
目录 一 描述 二 分析 三 答案 一 描述 506. 相对名次 给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分.所有得分都 互不相同 . 运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推.运动员的名次决定了他们的获奖情况: 名次第 1 的运动员获金牌 "Gold Medal" . 名次第 2 的运动员获银牌 "Silver Medal" . 名次第
-
Java语言实现反转链表代码示例
问题描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点.链表结点如下: public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } 思路1: 要想反转链表,对于结点i,我们要把它的next指向它的前趋,因此我们需要保存前趋结点,同时,如果我们已经把i的next重新赋值,会无法找到i的后继,因此,在重新赋值之前,我们要保存i的后继. 代码:
-
C语言 运算符详细介绍及示例代码
C 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和其他运算符. 算术运算符 下表显示了 C 语言支持的所有算术运算符.假设变量 A 的值为 10,变量 B 的值为 20,则: 运算符 描述 实例 + 把两个操作数相加 A + B 将得到 30 - 从第一个操作数中减去第二个操作数 A
-
C语言数据输入与输出实例详解
C语言数据输入与输出实例详解 1 概论 C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等.数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页. 2 数据输出 从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执
随机推荐
- Java中Date类和Calendar类的常用实例小结
- Objective-C的MKNetworkKit开发框架解析
- javascript 兼容鼠标滚轮事件
- js将控件隐藏及display属性的使用介绍
- Python获取央视节目单的实现代码
- Python虚拟环境virtualenv的安装与使用详解
- 类成员函数的重载、覆盖与隐藏之间的区别总结
- Android系列之Intent传递对象的几种实例方法
- android实现用户体验超棒的微信WebView进度条
- A10_DatePicker的对话框设置(使用OnDateSetListener监听器)
- JS实现表单中checkbox对勾选中增加边框显示效果
- Python简单生成8位随机密码的方法
- java对double数组排序示例分享
- 总结jQuery插件开发中的一些要点
- jquery里的each使用方法详解
- Js 竖直伸缩菜单(百度)
- XAMPP下使用顶级域名绑定虚拟主机的配置方法和示例
- 基于java中泛型的总结分析
- SpringBoot添加Email发送功能及常见异常详解
- java异常处理机制示例(java抛出异常、捕获、断言)