|
k*******d 发帖数: 701 | 2 一个练习题,如果把一个int整数转成二进制输出。
要求条件是
1。不能使用java已有的函数。
2。对写出的函数转换成汇编语言,也就是把自己写的函数要轻松的转变成汇编。这就
意味着,不要用
面向对象的东西啦,不然转成汇编可就麻烦了。
我遇到的问题
1。用直观的% / 运算,算出来的是逆序的,也就是说,比如 4, 我先得到是0,然后
又是0,然后
才是1。而我想得到是是100。
比如
4 / 2= 2 ....0
2 / 2= 1 ....0
1 / 2= 0 ....1
2。输出。如何输出?这个问题直接与要求2相关。
Java 里面的Integer.toBinaryString(int i)
的源代码还好,但是最后一句设计到new String(char[],int,int)函数,这个就难以转
成汇编
了。
public static String toBinaryString(int i) {
return toUnsignedString(i, 1);
}
这个函数是用来转二进制十六进制和八进制等的。
private static String toUnsigned |
|
c**t 发帖数: 2744 | 3 Me2. (s)printf 能干这活?要不用什么位操作?有年头没有用C/C++ |
|
z*y 发帖数: 1311 | 4 如何从十六进制指令地址找回到对应的源程序语句位置?谢谢。
起因:程序crash后想找到源程序的出错位置,程序是用C++写的在Visual Studio上编
译,然后拷到另一台机器上运行,出错后只有机器指令的地址,而不是进入源程序的
debug模式 |
|
h*l 发帖数: 807 | 5 怎么用php把下面的十六进制的unicode转换成中文?有大包子
\u6843\u674E\u6EE1\u5929\u4E0B
转换成中文就是:桃李满天下 |
|
r*****8 发帖数: 2560 | 6 C 语言,初学者问题(4),读取指针内容
char char_array[ ] = “banana”;
char * char_pointer = &char_array;
指针的第二位是“a”,ASCII码97,十六进制码67(0x67),
怎么能把指针第二位的内容读出来?
char_array[1] 就可以读出来97:
printf("the char_array[1] is : %i", char_array[1]);
如果是指针,有类似的方法吗?把第二位的内容读出来。 |
|
d***a 发帖数: 13752 | 7 这种hack程序,不都是改program binary和data binary吗。
想起俺以前上一门微处理器的课,老师要求直接用十六进制(实际上是二进制)代码对
Z80编程,最后主要的opcode都背下来了。 |
|
|
发帖数: 1 | 9 给车加油不用升,用加仑。
化妆品容量不用毫升,用盎司。
做饭用的量杯不用毫升,用夸脱。
开车路程不按公里,按英里。
量身高不用米,用英尺。
卷尺量东西不按厘米,按英寸。
房子面子不按平方米,按平方码。
买东西不按个,按打。量体重不按千克,按磅。
港口进货不按吨,按美吨。
温度不按摄氏度,按华氏度。
一美分是cent五美分是nickle十美分是dime二十五美分是quarter一美元是dollar
在这个十进制的世界里,老美的度量衡简直是一股泥石流!
从公制换算到英制无比的蛋疼,因为英制不是十进制啊!!
!四进制八进制十二进制十六进制,就特么不是十进制啊!
一英寸是三个大麦的长度。。???一磅等于一颗麦穗中大麦重量的7000倍。。??
太随便了吧阿喂!!!
你们是有多爱大麦!!!
英制换算公制动不动给你来个.333333 .666666看得人头皮发麻!!
从摄氏到华氏为毛公式那么复杂啊!为毛啊!九十多斤的孩子往磅秤上一踩瞬间变三位
数吓死人了啊!平方英寸平方码两个那么接近的单位就不能给合并一下吗??来来,你
现在能张嘴就说出来你身高几尺几寸又几分之几吗?!!!说好的容器按盎司夸脱把,
妈... 阅读全帖 |
|
e*******0 发帖数: 1487 | 10 嘿嘿,灌个水而已,表这么激动。
没困惑不等于幸福了,例如财富,要是盖茨是我的windows CEO,那我就真的幸福了。
电脉冲这种玩意儿,不完全是零和一,脉冲有强有弱。我说的二,是绝对的二,只有零
和一,
没有零点五或者零点一,核酸严格来说是4种,但是,A必须配T,G必须配C,可以说是
一种二的变形,这个世界上的高等生物的一切都是由这种核酸序列决定的,从这一点上
说,计算机的二进制和核酸序列在本质上是一样的,都是通过两种状态的不同排序来决
定极其复杂的事件。这一点不同于语言,语言的基本组成是多种,英文有26个字母,中
文有十数种笔画。当然,这也不同于物质的组成,电子质子中子等等。这种二的结果也
不是数学上逻辑推理,而是现实的存在。数学上有二进制,有十进制,有十六进制,有
六十进制,甚至可有用无数的进制,可是,唯一一种现实存在的是并且完美地创造出了
人类及其思维的是二。从这一点上说,计算机程序的发展终究有一天会创造出能够自主
思考的程序的。 |
|
h***o 发帖数: 539 | 11 首先我怀疑即使long double也存不了这么多有效数字
实现还是有办法的
main()
{
long double code = 0.972384732814682914678216478321647832647382614738...;
int *p, i;
p = (int *) &code;
for (i = 0; i < sizeof(long double)/sizeof(int); i++)
printf("%08x", p[i]);
puts("");
}
再考虑到little_endian和big_endian的情况,这个问题还蛮复杂的。 |
|
h***o 发帖数: 539 | 12 btw, 我的结果是
919a5800f8ee34b200003ffe
long double是12个bytes |
|
b*********n 发帖数: 1258 | 13 非常感谢
我是使我的程序去
谢谢
0.972384732814682914678216478321647832647382614738...;
code=0.9723847328146829146782164783216478326473826147382614873216483721648732 |
|
b*********n 发帖数: 1258 | 14 关于你写的代码,有2个问题
那个for循环,为什么终止条件是i < sizeof(long double)/sizeof(int)
而不是i < sizeof(long double)
另外我觉得应该那个for循环写成while(p[i]!='\0')
不知道我的想法对不对
哈哈
谢谢
可能是一个newbie的问题了
谢谢
0.972384732814682914678216478321647832647382614738...;
code=0.9723847328146829146782164783216478326473826147382614873216483721648732 |
|
b*********n 发帖数: 1258 | 15 第二个问题就是little_endian和big_endian是什么意思呀?
在网上查了一下
好像是上下边界的意思
对吗?
0.972384732814682914678216478321647832647382614738...;
code=0.9723847328146829146782164783216478326473826147382614873216483721648732 |
|
h***o 发帖数: 539 | 16 p[i]到p[i+1]相差sizeof(int)个字节 |
|
|
x*****i 发帖数: 1901 | 18 初学c++,求助
有几组十六进制数据存在.txt文件中,像这样:12345FFFFFFFF123FFFFFFFF45FFFFFFFF,每个
FFFFF前的数字是一组数据,每组数据的个数还不一样,FFFFFFFF是用来分隔每组数据用的
,要求每次读一组数据,需要把读取的数据存入到一个vector中,例如定义了一个
vector input; 将第一次读取的数据存入到input中,进行计算以后读取第二组数
据,再存入input中进行运算,我现在的问题是不知道怎样做这样的一个循环,能够读
取FFFFFFFF前面的数据,做完运算在读取下一组,希望高手帮忙
谢啦 |
|
j******d 发帖数: 70 | 19 十六进制数
da39a3ee5e6b4b0d3255bfef95601890afd80709 mod
b20db0b101df0c6624fc1392ba55f77d577481e5
等于多少?谢谢! |
|
y**x 发帖数: 117 | 20 用十六进制编辑器打开sashost.dll
搜索:31C9668B4DE8
换成:31C966B92C00
保存。
It works for V9.1.3
不要忘了发包子阿。 哈哈 |
|
o***s 发帖数: 42149 | 21 物理老师在讲单位制。老师:“同学们,我们日常生活中用的都是十进制,当然也有二进制,比如,计算机就是用的二进制,你们还知道哪些进制?”小刚:“古代有十六进制,比如半斤八两”老师:“很好!”小东:“还有60进制,比如一分钟等于60秒”老师:“非常好”小明:“还有十三进制,比如扑克2345678910JQKA”老师:“滚出去!” |
|
p**z 发帖数: 65 | 22 没人发帖好冷清。我来发几个平时用Python攒的小窍门吧。笔记是英文的懒得翻译了
Python tips: binary, octal, and hex numbers
To use literal values in binary, octal, or hex (works since Python 2.6):
binary: 0b1111
octal: 0o105
hex: 0xffff
To convert an input string that is the representation of a number in a
specific base to an integer:
int('1111', 2)
int('105', 8)
int('ffff', 16)
To output the string representation of a number in a specific base:
If converting to binary, numpy.binary_repr() is the most efficient
If converting to any b... 阅读全帖 |
|
A*******s 发帖数: 8645 | 23 感谢积压教授!把属性设置为text,的确1e2, 3e4就不会被自动改为1.00E+02或者3.
00E+04。
可是问题是,这几百个数字是从.txt文件里面传入Excel,
我试验了一下,即使我在传入的时候,把每项都设为text,这些带着e的十六进制数字
依然还是会被改称科学计数法。
郁闷死了,难道要在传入后一个一个手动把它们改回来么? |
|