|
|
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
Добрый день! У меня возникла следующая проблема. есть байтовый массив куда должен записаться IP адрес, есть строка содержащая этот адрес выделить 4 цифры не проблема, а вот как как каждую из них преобразовать в байт не заню Byte.GetByte(MyIP) не работает так-как в Java нельзя обэявить тип беззнаковым... Помогите новичку!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:38 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
/topic/180936&pg=1#1521371 Только решения проблемы мне так и не сказали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:43 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
/topic/180936&pg=1#1521371 что значит не сказали решение? по-моему я и привел работающий код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:45 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
Да, спасибо, код работает! Только мне надо чтобы массив не интов был, а байтов. Нормальных. То есть вида 167.0.0.177 А из этого способа получаются что хранятся отрицательные там. Т.о. Мне чтоли хранить массив вида -80.0.0.-49, а потом его при проверке делать к инту и &255 ? Понимаете, я никак не могу понять, почему getInetAdress позволяет в массив байтов загонять числа до 255, а когда мы вручную делаем (ну присваиваем)- нельзя ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:51 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
adf Понимаете, я никак не могу понять, почему getInetAdress позволяет в массив байтов загонять числа до 255, а когда мы вручную делаем (ну присваиваем)- нельзя ??? Это потому, что он не заганяет туда числа до 255, а делает каст в байты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:53 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
А? Можно поподробнее. В двух словах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:56 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
adf Только мне надо чтобы массив не интов был, а байтов. Нормальных. То есть вида 167.0.0.177 А из этого способа получаются что хранятся отрицательные там. Т.о. Мне чтоли хранить массив вида -80.0.0.-49, а потом его при проверке делать к инту и &255 ? Не путайте хранение с представлением. Байт он и есть байт. Другое дело выводить его как знаковое или беззнаковое число. Чем вам не нравится хранить byte[]{-80,0,0,-49} и сравнивать его с таким же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:57 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
adfА? Можно поподробнее. В двух словах? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 09:58 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
Значит, можно представлять как знаковое и как беззнаковое.. Интересно... Можно хранить адрес и как массив с отрицательными, просто сравнивать надо получается массив с "беззнаковыми" элементами со "знаковыми" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:01 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
adfпросто сравнивать надо получается массив с "беззнаковыми" элементами со "знаковыми" Нет, просто надо сравнивать два массива байтов , а то, что System.out.println покажет отрицательные числа не имеет никакого значения :) BTW: InetAddress.getByAddress(new byte[]{(byte)192, (byte)168, 10, 46}).toString(), если уж очень надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:06 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
есть в src.zip java/net/InetAddress.java - глянули бы :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:11 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
XM Код: plaintext 1. Только не так, плз. Хотя бы так: byte b = (byte)254; или так: byte b = (byte)Integer.parseInt("254"); Зачем лишний раз создавать объекты или делать вызовы методов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:12 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
XM adfпросто сравнивать надо получается массив с "беззнаковыми" элементами со "знаковыми" Нет, просто надо сравнивать два массива байтов , а то, что System.out.println покажет отрицательные числа не имеет никакого значения :) BTW: InetAddress.getByAddress(new byte[]{(byte)192, (byte)168, 10, 46}).toString(), если уж очень надо :) Извините, буду совсем настойчивой : Чем отличается от простого сравнения элементов массива? Еще раз извините за глупость... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:12 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
adf XM adfпросто сравнивать надо получается массив с "беззнаковыми" элементами со "знаковыми" Нет, просто надо сравнивать два массива байтов , а то, что System.out.println покажет отрицательные числа не имеет никакого значения :) BTW: InetAddress.getByAddress(new byte[]{(byte)192, (byte)168, 10, 46}).toString(), если уж очень надо :) Извините, буду совсем настойчивой : Чем отличается от простого сравнения элементов массива? Еще раз извините за глупость... :) Что отличается? :) byte b = (byte)240 = 0xf0; int i = 240 = 0x00 00 00 f0; b == i ? по спецификации перед сравнением операнды должны быть приведены к одному типу, в данном случаю int. (int)b = 0x ff ff ff f0 - т.к. самый старший бит в байте был 1. 0x ff ff ff f0 != 0x 00 00 00 f0. По этому используется маска b & 0xff == i - что бы при автокасте избавиться от лишних "единичек". (b & 0xff => 0x ff ff ff f0 & 0x 00 00 00 ff => 0x 00 00 00 f0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:21 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsТолько не так, плз. Хотя бы так: byte b = (byte)254; или так: byte b = (byte)Integer.parseInt("254"); Зачем лишний раз создавать объекты или делать вызовы методов? каюсь, протупил... 2 adf ничем. мне просто выражение "массив с "беззнаковыми" элементами со "знаковыми" показалось недостаточно четким :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:22 |
|
||
|
byte проблема... help!!!!
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs по спецификации перед сравнением операнды должны быть приведены к одному типу, в данном случаю int. читать: приводятся автоматически к одному типу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:23 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33071269&tid=2152376]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 414ms |

| 0 / 0 |
