public static String ToBinaryString(int scanStr){
final String FINAL_ONESTRING = "11111111111111111111111111111111";
final String FINAL_MIN_VALUE = "10000000000000000000000000000000";
switch (scanStr) {
case 0 : return "0";
case 1 : return "1";
case -1 : return FINAL_ONESTRING;
case Integer.MIN_VALUE : return FINAL_MIN_VALUE;
}
boolean fushuFlag = scanStr < 0;
if (fushuFlag)
scanStr = 0 - scanStr;
StringBuilder sb = new StringBuilder();//默认16字符
while (scanStr != 1){
int yushu = scanStr % 2;
scanStr = scanStr >> 1;
sb = sb.append(yushu);
}
sb = sb.append(1);//补首位
if (fushuFlag){
int sblength = sb.length();
for(int i = 0; i< sblength;i++){//对正数进行取反操作
char charAt = sb.charAt(i);
if(charAt == '1')
sb.setCharAt(i, '0');
else
sb.setCharAt(i, '1');
}
if(sb.charAt(0) == '1'){//首位是1 进行加法计算
int index = sb.indexOf("0",1);//一个值为0的offset
sb.setCharAt(index, '1');//进位计算
for(int i = 0; i < index; i++)
sb.setCharAt(i, '0');//index前面的值全部置0
}else{
sb.setCharAt(0, '1');
}
return FINAL_ONESTRING.substring(sb.length()) + sb.reverse().toString();
}
return sb.reverse().toString();
}//
long flag1 = System.currentTimeMillis();
for(int i = 0; i<10000000; i++){
Integer.toBinaryString(154);
}
long flag2 = System.currentTimeMillis();
for(int i = 0; i<10000000; i++){
ToBinaryString(154);
}
long flag3 = System.currentTimeMillis();
System.out.println(flag2 - flag1);//测试input:154 执行1000W次 耗时 15672
System.out.println(flag3 - flag2);//测试input:154 执行1000W次 耗时 37781
分享到:
相关推荐
本资源适合数字计算和测试的学习者和工程师使用,帮助他们通过Web界面来进行十进制转换二进制的计算和测试,提高数字的知识和水平。 .采用Python这一简洁易用的编程语言,从基础到进阶,逐步讲解了十进制转换二进制...
免费的最强的进制转换器,十六进制,十进制,八进制,二进制。
自定义进制转换函数:介绍如何编写自定义的进制转换函数,包括将十进制数转换为其他进制数,以及将其他进制数转换为十进制数的方法。 三、特色亮点 实用性强:教程中的代码实例均经过实际测试,可直接用于项目开发...
在Android下做的一个小软件,输入十进制数据(整数小数均可),可将其转换为二进制、八进制、十六进制。大家可下载到手机上进行测试,欢迎大家使用!(象征性的收取一个资源分,呵呵)
自己手动测试过,希望喜欢,带注释已知一个只包含 0 和 1 的二进制数,长度不大于 10 ,将其转换为十进制并输出。 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数, 占一行
1、二进制转换成十进制 BCD码的verilog实现方法 2、包含testbench等测试代码
1、二进制转换成十进制BCD码的verilog实现方法 2、包含testbench等测试代码
使用VB编写的进制转换器,支持32位位宽...1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 (新增功能) 3. 连续地与操作, 或操作, 异或操作 (新增功能) 4. 统计结果数值中1的个数用与辅助测试奇偶校验 (新增功能)
提供了多种数字计算和测试的功能,如二进制、八进制、十进制、十六进制、三十二进制、六十四进制等不同进制之间的转换,以及字符、浮点型、ASCII码等的转换。本资源适合数字计算和测试的学习者和工程师使用,帮助...
这篇文章主要介绍了使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换的一些用法,需要的朋友可以参考下 使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。 先看Python官方文档中对这几...
d行对应每个测试数据,把转换成的2进制数中哪一位是1的位数输出,按升序排列。 (比如说1101,它的第3位是1,第2位是1,第1位是0,第0位是1,所以输出 0 2 3) 输入样例: 1 13 输出样例: 0 2 3
使用反向双星号将输出的二进制编码的十进制转换为二进制数。 寄存器编号,移位流程和执行速度应使用5个样本进行测试SHIFT AND ADD 3算法步骤:1将二进制数左移一位STEP:2如果取了8位,则BCD数为数百,十和单位列...
使用VB编写的进制转换器,支持32位...1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 3. 连续地与操作, 或操作, 异或操作 4. 统计结果数值中1的个数用与辅助测试奇偶校验 6. 输入格式限制(正则表达式)(新增)
主要介绍了使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换的一些用法,需要的朋友可以参考下
turn5.exe是一款多功能的进制转换器,能够在十进制、8进制、十六进制和二进制之间进行互转。还可以转换字符串为十六进制、十六进制转字符串,用二进制表示原码、反码和补码。编码转换可以将字符转Base64,Base64转...
该源代码里包含二进制转格雷码 格雷码转二进制 十进制转二进制 二进制转十进制等,在Delphi xe2下通过测试。
该项目(双转换)为IEEE double提供了二进制十进制和十进制二进制例程。 该库包含从V8 JavaScript引擎中提取的高效转换例程。 该代码已经过重构和改进,因此可以在其他项目中更轻松地使用。 在double-conversion/...
如果在变换的过程中,先把十进制转换成BCD码,这就失去了格雷码的特点。 因为在BCD码中: 最小:二进制0000=格雷码0000 最大:二进制1001=格雷码1101 可以看出,它们之间有三位发生变化。 通过BCD码来变换...
十进制到二进制函数文件()来实现十进制到二进制的转换。 与[4]相同的SAR算法的行为模型文件(),但更改为18位SAR ADC。 理论 费用重新分配 参见PDF文件()。 它很好地解释了[1]中提出的ADC体系结构的“电荷重新...