Int to BCD

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Int to BCD

Post by bva_bonda »

Прошу на пальцах, т.е. последовательно рассказать как происходит преобразование ITB. В справке есть пример:

Image

Ведь число 111001100011 в шестнадцатиричной форме будет Е63. Или не верно ?
Yury
Posts: 65
Joined: Thu Nov 01, 2007 9:41 pm
Location: Belarus

Re: Int to BCD

Post by Yury »

Да Е63 но это не причём , в формате инт это число равно -413 (у нас ведь преобразование Int to BCD)
Еденицы числа в Int в формате BCD записываются в биты с 0 по 3, десятки числа в Int в формате BCD записываются в биты с 4 по 7, сотни числа в Int в формате BCD записываются в биты с 8 по 11, если в Int есть тысячи то в BCD числе будет не правильный формат, если 15 бит в инт - 1, то BCD - отрицательное число (12-15 биты - 1111).
Вроде как-то так...
bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Re: Int to BCD

Post by bva_bonda »

куда чего записывается я понял, не понятно как получилось число "-413 целое" ?
Ну т.е. ты сказал,
Да Е63 но это не причём , в формате инт это число равно -413 (у нас ведь преобразование Int to BCD)
как ты это получил ?
dmitry_79
Posts: 149
Joined: Sun Dec 20, 2009 1:30 pm
Location: Russia

Re: Int to BCD

Post by dmitry_79 »

bva_bonda wrote:как ты это получил ?
Выберите в стандартном калькуляторе инженерный вид и наберите в формате bin 1111 1110 0110 0011
Ну и преобразуйте в HEX, DEC - надеюсь понятней станет...

Image
Image
Yury
Posts: 65
Joined: Thu Nov 01, 2007 9:41 pm
Location: Belarus

Re: Int to BCD

Post by Yury »

bva_bonda
Posts: 9
Joined: Wed Apr 28, 2010 3:29 pm

Re: Int to BCD

Post by bva_bonda »

Спасибо всем, разобрался. Я почему то думал, что в шестнадцатиричной форме должно быть -413 а не в десятичной.