把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。
编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。
实现了unsigned long型的转换。
// 十进制转换为二进制,十进制数的每1bit转换为二进制的1位数字
<pre lang="c" escaped="true" line="1">
char *int_to_bin(unsigned long data)
{
int bit_num = sizeof(unsigned long) * 8;
char *p_bin = new char[bit_num+1];
p_bin[bit_num] = '\0';
for (unsigned int i = 0; i < bit_num; ++i)
{
p_bin[i] = data << i >> (bit_num-1);
if (p_bin[i] == 0)
p_bin[i] = '0';
else if (p_bin[i] == 1)
p_bin[i] = '1';
else
p_bin[i] = 'a';
}
return p_bin;
}
</pre>
// 十进制转换为十六进制,十进制数的每4bit转换为十六进制的1位数字
<pre lang="c" escaped="true" line="1">
char *int_to_hex(unsigned long data)
{
int bit_num = sizeof(unsigned long) * 8;
char *p_hex = new char[sizeof(unsigned long)*8/4+3];
p_hex[0] = '0';
p_hex[1] = 'x';
p_hex[bit_num/4+2] = '\0';
char *p_tmp = p_hex + 2;
for (unsigned int i = 0; i < bit_num/4; ++i)
{
p_tmp[i] = data << (4*i) >> (bit_num-4);
if (p_tmp[i] >= 0 && p_tmp[i] <= 9)
p_tmp[i] += '0';
else if (p_tmp[i] >= 10 && p_tmp[i] <= 15)
p_tmp[i] = p_tmp[i] - 10 + 'A';
}
return p_hex;
}
</pre>
把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。的更多相关文章
- Java String Integer转换 练习:编程求字符串“100”和“150”按十进制数值做差后的结果以字符串形式输出。
package com.swift; public class String_To_Integer_Test { public static void main(String[] args) { /* ...
- Java中实现十进制数转换为二进制的三种思路
Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...
- Java中实现十进制数转换为二进制的三种方法
第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数 ...
- java_十进制数转换为二进制,八进制,十六进制数的算法
java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...
- FPGA中将十进制数在数码管中显示(verilog版)--二进制转换为BCD码
这周有朋友问怎样在fpga中用数码管来显示一个十进制数,比如1000.每个数码管上显示一位十进制数.如果用高级语言来分离各位,只需要分别对该数做1000,100,10对应的取商和取余即可分离出千百十个 ...
- java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Test { /* * 将任 ...
- 【模板小程序】任意长度非负十进制数转化为二进制(java实现)
妈妈再也不用担心十进制数过大了233(注意只支持非负数) import com.google.common.base.Strings; import java.math.BigInteger; imp ...
- Java十进制数转二进制的方法
使用Integer.toBinaryString(num) ,可以把十进制数转换成二进制 //十进制转换成二进制 Integer.toBinaryString(num); binary 二进制 Sys ...
- [No000071]C# 进制转换(二进制、十六进制、十进制互转)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- jstl 的应用 java
JSTL :JSP Standard Tag Library,JSP标准标签库 1.导入包 jstl.jar standard.jar 2.页面中添加标识 <%@taglib uri=" ...
- mysql之触发器
触发器 MySQL语句在需要时被执行,存储过程也是如此.但是,如果你想要某条语句(或某些语句)在事件发生时自动执行,怎么办呢?例如:每当增加一个顾客到某个数据库表时,都检查其电话号码格式是否正 ...
- java语言写文件内容
import java.io.File;import java.io.FileWriter;import java.io.IOException; public static void main(St ...
- 基于ant的jmeter自动化性能测试
准备工作: 1.java的运行环境正常,及运行java -version.javac -version能正常输出java版本: 2.ant的运行环境正常,使用ant需要配置环境变量,编辑/etc/pr ...
- spring PropertyPlaceholderConfigurer 找不到配置文件原因
1: spring 版本问题 参见: http://www.cnblogs.com/alex-blog/archive/2012/12/25/2832357.html 2: bean id 同名 ...
- 李洪强漫谈iOS开发[C语言-004]-开发概述程序设计语言程序编译过程
汇编语言 指令用特定的名字来标记,这就是汇编语言 人比较容易看懂汇编语言 汇编直接和程序一一对应的 有汇编器把程序翻译成机器码 把高级语言编译成计算机识别的语言 程序编译过程 命令行 UNIX 系统中 ...
- Linux Shell学习
https://yunpan.cn/cMxw3i8TkcsWI (提取码:d4e1)
- java--vo
VO是跟数据库里表的映射,一个表对应一个VO DAO是用VO来访问真实的表,对数据库的操作都在DAO中完成 BO是业务层,做逻辑处理的 VO , PO , BO , QO, DAO ,POJO, O/ ...
- 汇编与C语言混合 实现的从小到大的冒泡排序
汇编实现的从小到大的冒泡排序 主函数由C语言实现,sort函数用汇编语言写 #include <stdio.h> int buffer[256]; //数据缓冲区 int ...
- .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
.net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...