|
|
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Использовалось окошко Immediate свежесозданной mdb на Access 2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 20:22 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
ага, такой феномен только на вежесозданной и удается воспроизвести... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 20:39 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
Действительно любопытно. Причем границы обнаружились вот где: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И в то же время в обратную сторону все работает нормально: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 20:56 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
не хочу никому хамить, но константа вроде указана без спецификатора длины (& = long), а значит - тип integer - 16 бит. ?&HFFFFF - в integer не лепится и преобразуется в long - 32 бита. Саныч абсолютно правлильно границу нащупал. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 21:04 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
То есть от 2^15 до 2^16-1 считается, что в Integer лепится, несмотря на то что этот Integer получается отрицательный. Нестыковочка-с у Аксесса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 21:12 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
для шестнадцатеричного представления знак не важен, это просто состояния бит, если рассматривать это же число как беззнаковое, то там будут значения от 0 до 2^16-1 и все - положительные. &HFFFF по синтаксису VB это целое число (причем тут знак???) &HFFFF& а это уже long (& - спецификатор, хотя указаны те же цифры.) аналогично 1.23 - float, 1.23# - double. А где нестыковка? Это просто способ задавать тип константы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 21:22 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
Нет нестыковки у асеса, vdimas прав Не задаете тип константы явно - будьте готовы к тому, что аксес его (тип) сам проинтуичит. Мнение редакции может не совпадать с мнением аксеса. Отрицательные, положительные - какая ему (аксесу) разница. Это все фантазии человеческого мозга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 21:29 |
|
||
|
Забавная арифметика
|
|||
|---|---|---|---|
|
#18+
Действительно. :^) Код: plaintext 1. 2. 3. То есть получаем несколько зон: 1. До 7FFF - лезет в Integer, бит знака 0, получается положительное число. 2. До FFFF - тоже лезет в Integer, но бит знака -1, получается отрицательное число. Чтобы получилось положительное, надо пользоваться Long. 3. До 7FFFFFFF - в Integer не лезет, автоматом интерпретируется как Long, бит знака 0, получается положительное число. 4. До FFFFFFFF - аналогично, Long, бит знака -1, получается отрицательное число. 5. Далее - не лезет никуда. Попытки запихать в Single или Double проваливаются - как и для предыдущей группы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2003, 21:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32232285&tid=1680002]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 425ms |

| 0 / 0 |
