Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.42.163] |
|
Сообщ.
#1
,
|
|
|
VB.Net
мне снова стыдно за тупейший вопрос, но тем не менее осмелюсь задать в общем, даже не знаю, как спросить. в общем, есть функция АПИшная (из Windows Mobile, но мой вопрос скорее мне интересен для десктопа), возвращает она Int32. если значение минимально, то это ноль - все правильно, а если максимально - тут ошибка, так как 32 двоичных единици в Int32 значит -1, кажется, а просто очень большое значение становится отрицательным. Uint32 параметром функции не катит (ругается что-то студия), да и это просто спортивный интерес. я столько уже перепробовал, работает только один метод: Dim z as Integer = что-то там Dim a As UInt32 = Convert.ToUInt32(Convert.ToString(z, 2), 2) этим способом биты одного числа в другое перекидываются, а как сделать по-человечески (без конвертации в строку и обратно)? я понимаю, что я тупой, но никак не могу понять, что тут делать надо... >_< просто cuint, ctype, convert.touint32, directcast (это все, до чего я допёр) не получается юзать |
Сообщ.
#2
,
|
|
|
int t = -1; uint tt = (uint)t; |
Сообщ.
#3
,
|
|
|
это для C#. ты мне скажи, как это написать на VB.Net. не буду же я для программы создавать на C# библиотеку из одной функции, чтобы таскать с прогой.
|
Сообщ.
#4
,
|
|
|
А у тебя в программе вообще одна экзешка и никогда не бывает длл-сборок? В конце концов это один из плюсов .NET - многоязычность.
А насчет VB.NET ничего хорошо сказать не могу, так что лучше промолчу... |
Сообщ.
#5
,
|
|
|
так и вообще ничего не надо писать тогда. я пишу слишком простые вещи, если не сказать - элементарные, чтобы таскать с собой DLL.
|
Сообщ.
#6
,
|
|
|
Цитата Vitik @ это для C#. ты мне скажи, как это написать на VB.Net. Dim t As Integer = -1 Dim tt As UInt32 = DirectCast(t, UInt32) |
Сообщ.
#7
,
|
|
|
Цитата juice @ Dim t As Integer = -1 Dim tt As UInt32 = DirectCast(t, UInt32) Error 1 Value of type 'Integer' cannot be converted to 'UInteger' Добавлено ругается, подчеркивая t |
Сообщ.
#8
,
|
|
|
Dim t As Integer = 1 Dim tt As UInt32 = Convert.ToUInt32(t) |
Сообщ.
#9
,
|
|
|
ну, блин, с положительными-то числами проблем и нет. единицу я бы и сам перевести мог. число в Integer может получаться и отрицательным, а тогда конвертация Convert.ToUint32 уже не катит. вы все издеваетесь или не понимаете? я ж в шапке описал, что пробовал все предложенное.
|
Сообщ.
#10
,
|
|
|
Цитата Vitik @ Convert.ToUint32 уже не катит. вы все издеваетесь или не понимаете? я ж в шапке описал, что пробовал все предложенное. Сорри. Можешь попробовать еще так: Dim t As Integer = -1 Dim tt As UInt32 = BitConverter.ToUInt32(BitConverter.GetBytes(t), 0) |
Сообщ.
#11
,
|
|
|
спасибо, работает
|