![]() |
Как записать два целых натуральных числа одной переменной?
Да, нужно например числа 71 и 180 записать одним числом...Ну всмысле не то что можно подумать сначала. Просто из этого числа с помощью какой-нибудь функции можно будет выделить эти два исходных числа.
У меня был вариант сначала очень многообещающий dig#=71.180 Хе. Просто выделяем целую и дробную части. А потом обломался. 180 превращалось в 18 :(((( Ну, я думаю есть всё же способ:) Жду ваших предложений, очень просто нужно - для удобства! :) АВТОМАТ, помню, рассказывал про то как цвет RGB держат в одной переменной. Дак там аж 3 числа! Только я не понял ничего:((( Спасибо |
Ответ: Как записать два целых натуральных числа одной переменной?
Ну так всё несложно) Кстати где я рассказывал - не 3 а 4 числа)
Интеджер (в блице) - это 4 байта. Не стоит всегда рассматривать Интеджер как число, нужно помнить что это 4 байта информации. В твоём случае нужно в 1 интегер пихнуть 2 числа. Т.е. это 4 байта, то пусть на каждое число будет отведено по 2 - по-братски. Т.к. на каждое число отведено по 2 байта, то оно сможет принимать 65536 (2^(8*2)) значений. Если нужно больше значений, то тут уж придётся юзать больше байт( Итак, определились. 180 будет лежать в "правых" двух байтах, а 71 - в "левых". 180 записываем просто так: DvaChisla = 180 Теперь надо записать ещё и 71. Для этого придётся "сдвинуть" его влево на 2 байта, т.е. на 65536 значений. Умножаем 71 на 65536 и плюсуем: DvaChisla = DvaChisla + 71*65536 Вот, записали. Теперь читаем. Прочитаем сначала наши 180. Для этого вычисляем остаток от деления на 65536 PervoeChislo = DvaChisla Mod 65635 Воторое (71) прочитать тож несложно, нужно на этот раз поделить на 65536: VtoroeChislo = DvaChisla/65536 Вот собсно и алгоритм. Только при очевидной геморности я бы всё же сделал две переменные) |
Ответ: Как записать два целых натуральных числа одной переменной?
можно еще и сдвиги покурить.
как то так: Код:
a = 180 Or (71 Shl 16) |
Ответ: Как записать два целых натуральных числа одной переменной?
нууу... я думал умножение будет понятней
|
Ответ: Как записать два целых натуральных числа одной переменной?
Цитата:
|
Ответ: Как записать два целых натуральных числа одной переменной?
ну... кому как. мне смещениями проще думать. и представлять себе ряд 32 битов разбитых на части.
|
Ответ: Как записать два целых натуральных числа одной переменной?
Спасибо большое.
Цитата:
Всем спасибо:) АВТОМАТ, HolyDel вы не знаете что за библы для сингл-сюрфейса существуют...? Мне никто не отвечает в топе http://"http://forum.boolean.name/sh...ad.php?t=7991".. А очень надо:((((((((( |
Ответ: Как записать два целых натуральных числа одной переменной?
Цитата:
|
Ответ: Как записать два целых натуральных числа одной переменной?
tormoz, несколько вопросов!
1. Третий пример - МАВ 2. tormoz, ты сказал что библиотек для сингл-сюрфейса много. Можешь ещё предложить какие нибудь? Просто мне не нужно обыекты сингл сюрфейса передвигать. Да и тут типы в типах получатся - ну вообщем очень много фич, не нужных моей относительно простенькой игры, а программирование они усложняют - у меня и так моск плавится:). Хотя другое дело что быть может твоя библиотека, tormoz, более производелное решение чем объединение объектов в один меш с помощью addmesh...Тогда я конечно наверно предпочту её. Но ведь наверное не быстрее тек?Вообще мне так плохо:( :( :( Меня во всем устраивала стандартная функция addmesh блитца, вот только что там с освещением происходит:( Нормали чтоли нарушаются как...Да хотя вроде грани остаются какие и были:( Что делать, что делать??.... :''(( |
Часовой пояс GMT +4, время: 02:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot