Topic: 【请教】关于byte |
Print this page |
1.【请教】关于byte | Copy to clipboard |
Posted by: zero0 Posted on: 2004-11-09 15:15 请问^^^^标记处应该如何处理,谢谢
|
2.Re:【请教】 [Re: zero0] | Copy to clipboard |
Posted by: littledeer1974 Posted on: 2004-11-09 15:21 如何处理是什么意思呢,怎么变成字符串,怎么变成整数?还是.... 你想做什么呢,能不能给点背景介绍呀 |
3.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: zero0 Posted on: 2004-11-09 16:25 不好意思 没有说清楚 byte类型的范围是-128至+127 0xB5转换成十进制是181,越界 我用UDP数据包socket发送数据,例如上面代码. 我用类DatagramPacket和DatagramSocket来实现.当构造类DatagramPacket时构造函数参数为要发送的数据,它是byte buf[] 有一位的消息定义是0xB5 ,请问这一位应该怎么处理 多谢 |
4.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: littledeer1974 Posted on: 2004-11-09 16:43 byte buf[]是字节的Array,所以你把0xB5分割成两个BYTE怎么样啊,buf[]就是字节的数组的开头(C里的地址的感觉),知道这个就行了吧我想 |
5.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: zero0 Posted on: 2004-11-09 17:04 多谢你的解释 我也有这样想过 不过项目设计(包括消息定义)是别人做的(vc程序员),消息也是发往vc程序的 我初学java,所以不清楚java里有没有方法用一个byte实现 如果不可以的话我再想别的办法吧 非常感谢 |
6.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: kavinwang Posted on: 2004-11-09 17:15 "byte类型的范围是-128至+127" 是这样吗?那是有符号,Java中Byte是没有符号的,所以你对byte直接处理就行了 有符号和无符号只是使用的环境不同而定义不同,在一个byte中,如果认为它是一个有符号的数据,那最高位作为符号位的,对于无符号数据,最高位也是数据位,不再表示符号 所以:dataBuf[1]=0xB5;代表无符号数据,直接处理和传送即可 |
7.Re:【请教】关于byte [Re: kavinwang] | Copy to clipboard |
Posted by: zero0 Posted on: 2004-11-09 17:21 多谢 java中byte为有符号吧 按照上面的代码,编译器会报错 如果将值改为0x7f以下则正确 |
8.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: kavinwang Posted on: 2004-11-09 17:32 把 dataBuf[1]=0xB5; 改成: dataBuf[1]=(byte)0xB5; 就没错了。 出错是因为0xB5;是int。 |
9.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: zero0 Posted on: 2004-11-09 17:37 非常感谢 这样是可以的 多谢 |
10.Re:【请教】关于byte [Re: zero0] | Copy to clipboard |
Posted by: zero0 Posted on: 2004-11-09 17:41 不好意思 是我学习的不够,给大家带来了麻烦 多谢各位的解答 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |