Подписанный шестнадцатиричный подстрочный индекс Swift

Я видел много вопросов, конвертирующих hex в int, но это все беззнаковое -> unsigned разновидность. Как я могу конвертировать подписанный hex в Int?

например.

somefunc('0xfffff830') = -2000 

Ваш вопрос подразумевает, что вы имеете дело с 32-разрядными целыми 0xfffff830 (иначе 0xfffff830 не может считаться отрицательным), так что это сработает:

 let num = "0xfffff830" let x = Int32(truncatingBitPattern: strtoul(num, nil, 16)) println(x) // -2000 

strtoul() преобразует шестнадцатеричную строку в целое число без знака UInt и Int32(truncatingBitPattern:) создает 32-битное целое (подписанное) из младших 32 бит данного аргумента.

Вы можете использовать преобразование в unsigned, а затем конвертировать без знака в подпись.

 let num = "0xfffff830" var result: UInt32 = 0 let converter = NSScanner(string: num) converter.scanHexInt(&result) print(unsafeBitCast(result, Int32.self)) // prints -2000 

Подход

 var hex = UInt32(0xfffff830) let signedHex : Int if hex > UInt32.max / 2 { signedHex = -Int(~hex + 1) // ~ is the Bitwise NOT Operator } else { signedHex = Int(hex) } 
  • Запись и воспроизведение в реальном времени AudioKit
  • Как получить наблюдаемый UIImageView пустым с помощью Rxswift?
  • Ошибка Alamofire kCFStreamErrorDomainSSL, -9824
  • ios visuals не обновляется, пока процесс имеет место. (Swift 3)
  • Скажите iOS, чтобы не изменять размер анимированной текстуры SKNode?
  • CoreData: Объект, который имеет субистемы с одним и тем же типом
  • Каков наилучший способ сохранить данные в Интернете из UITableView?
  • Как заблокировать Alamofire от кодирования параметров URL
  • Кнопки навигационной панели iOS Swift Shift Down
  • Презентация Popover, показывающая пустой / белый вид в xcode swift
  • Несколько файлов podspec в одном репозитории git
  • Interesting Posts

    Определить UIInterfaceOrientation UIViewController без статуса BarOrientation]?

    Core Animation останавливает анимацию при повторном появлении приложения

    VLC для iOS не компилируется с xcode 5, iOS 7 error gcrypt

    Невозможно добавить значки приложений iOS в Visual Studio 2015

    В местоположении пользователя отслеживания IOS в Google Map

    Повторное использование одного и того же параметра для разных текстовых полей в таблице

    Самый элегантный способ убрать клавиатуру для UITextField в UiTableView

    AFNetworking: строки URL кодировки, содержащие выход «%», составляют% 25

    Как сравнить нечувствительность к регистру NSRange?

    Приложение работает отлично на 4S, но падает на 3G, из-за SIGABRT

    Как реализовать ленивый файл загрузки json?

    Запросить разрешение на доступ к контактам

    Как исправить: Тип «String» не соответствует протоколу «SequenceType» в Swift

    Почему программа приостанавливается и не сбой, если не установлены точки останова?

    Прокрутите вверх, с оценкой высоты ячейки

    Давайте будем гением компьютера.