Página 2 de 3 PrimerPrimer 1 2 3 ÚltimoÚltimo
Resultados 11 al 20 de 22

Tema: Calcular CRC8 en Cobol

  1. #11
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Mensajes
    182
    Ciudad
    Jerez De La Frontera (cádiz)

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    14

    Predeterminado

    Hola @JCantero,

    Te pago el código en Java, este es el ejemplo que ofrece la administración pública.

    Java Código:
    1. package net.ticketbai;
    2. import java.io.UnsupportedEncodingException;
    3. public class CRC8{
    4. private static final String UTF_8 = "UTF-8";
    5. // CRC-8,
    6. // Poly = x^8 + x^2 + x^1 + x^0
    7. // Init = 0
    8. // RefIn = false
    9. // RefOut = false
    10. // XorOut = 0
    11. private static final byte[] crc8_table =
    12. new byte[] {
    13. (byte) 0x00, (byte) 0x07, (byte) 0x0E, (byte) 0x09, (byte) 0x1C, (byte) 0x1B, (byte) 0x12, (byte) 0x15,
    14. (byte) 0x38, (byte) 0x3F, (byte) 0x36, (byte) 0x31, (byte) 0x24, (byte) 0x23, (byte) 0x2A, (byte) 0x2D,
    15. (byte) 0x70, (byte) 0x77, (byte) 0x7E, (byte) 0x79, (byte) 0x6C, (byte) 0x6B, (byte) 0x62, (byte) 0x65,
    16. (byte) 0x48, (byte) 0x4F, (byte) 0x46, (byte) 0x41, (byte) 0x54, (byte) 0x53, (byte) 0x5A, (byte) 0x5D,
    17. (byte) 0xE0, (byte) 0xE7, (byte) 0xEE, (byte) 0xE9, (byte) 0xFC, (byte) 0xFB, (byte) 0xF2, (byte) 0xF5,
    18. (byte) 0xD8, (byte) 0xDF, (byte) 0xD6, (byte) 0xD1, (byte) 0xC4, (byte) 0xC3, (byte) 0xCA, (byte) 0xCD,
    19. (byte) 0x90, (byte) 0x97, (byte) 0x9E, (byte) 0x99, (byte) 0x8C, (byte) 0x8B, (byte) 0x82, (byte) 0x85,
    20. (byte) 0xA8, (byte) 0xAF, (byte) 0xA6, (byte) 0xA1, (byte) 0xB4, (byte) 0xB3, (byte) 0xBA, (byte) 0xBD,
    21. (byte) 0xC7, (byte) 0xC0, (byte) 0xC9, (byte) 0xCE, (byte) 0xDB, (byte) 0xDC, (byte) 0xD5, (byte) 0xD2,
    22. (byte) 0xFF, (byte) 0xF8, (byte) 0xF1, (byte) 0xF6, (byte) 0xE3, (byte) 0xE4, (byte) 0xED, (byte) 0xEA,
    23. (byte) 0xB7, (byte) 0xB0, (byte) 0xB9, (byte) 0xBE, (byte) 0xAB, (byte) 0xAC, (byte) 0xA5, (byte) 0xA2,
    24. (byte) 0x8F, (byte) 0x88, (byte) 0x81, (byte) 0x86, (byte) 0x93, (byte) 0x94, (byte) 0x9D, (byte) 0x9A,
    25. (byte) 0x27, (byte) 0x20, (byte) 0x29, (byte) 0x2E, (byte) 0x3B, (byte) 0x3C, (byte) 0x35, (byte) 0x32,
    26. (byte) 0x1F, (byte) 0x18, (byte) 0x11, (byte) 0x16, (byte) 0x03, (byte) 0x04, (byte) 0x0D, (byte) 0x0A,
    27. (byte) 0x57, (byte) 0x50, (byte) 0x59, (byte) 0x5E, (byte) 0x4B, (byte) 0x4C, (byte) 0x45, (byte) 0x42,
    28. (byte) 0x6F, (byte) 0x68, (byte) 0x61, (byte) 0x66, (byte) 0x73, (byte) 0x74, (byte) 0x7D, (byte) 0x7A,
    29. (byte) 0x89, (byte) 0x8E, (byte) 0x87, (byte) 0x80, (byte) 0x95, (byte) 0x92, (byte) 0x9B, (byte) 0x9C,
    30. (byte) 0xB1, (byte) 0xB6, (byte) 0xBF, (byte) 0xB8, (byte) 0xAD, (byte) 0xAA, (byte) 0xA3, (byte) 0xA4,
    31. (byte) 0xF9, (byte) 0xFE, (byte) 0xF7, (byte) 0xF0, (byte) 0xE5, (byte) 0xE2, (byte) 0xEB, (byte) 0xEC,
    32. (byte) 0xC1, (byte) 0xC6, (byte) 0xCF, (byte) 0xC8, (byte) 0xDD, (byte) 0xDA, (byte) 0xD3, (byte) 0xD4,
    33. (byte) 0x69, (byte) 0x6E, (byte) 0x67, (byte) 0x60, (byte) 0x75, (byte) 0x72, (byte) 0x7B, (byte) 0x7C,
    34. (byte) 0x51, (byte) 0x56, (byte) 0x5F, (byte) 0x58, (byte) 0x4D, (byte) 0x4A, (byte) 0x43, (byte) 0x44,
    35. (byte) 0x19, (byte) 0x1E, (byte) 0x17, (byte) 0x10, (byte) 0x05, (byte) 0x02, (byte) 0x0B, (byte) 0x0C,
    36. (byte) 0x21, (byte) 0x26, (byte) 0x2F, (byte) 0x28, (byte) 0x3D, (byte) 0x3A, (byte) 0x33, (byte) 0x34,
    37. (byte) 0x4E, (byte) 0x49, (byte) 0x40, (byte) 0x47, (byte) 0x52, (byte) 0x55, (byte) 0x5C, (byte) 0x5B,
    38. (byte) 0x76, (byte) 0x71, (byte) 0x78, (byte) 0x7F, (byte) 0x6A, (byte) 0x6D, (byte) 0x64, (byte) 0x63,
    39. (byte) 0x3E, (byte) 0x39, (byte) 0x30, (byte) 0x37, (byte) 0x22, (byte) 0x25, (byte) 0x2C, (byte) 0x2B,
    40. (byte) 0x06, (byte) 0x01, (byte) 0x08, (byte) 0x0F, (byte) 0x1A, (byte) 0x1D, (byte) 0x14, (byte) 0x13,
    41. (byte) 0xAE, (byte) 0xA9, (byte) 0xA0, (byte) 0xA7, (byte) 0xB2, (byte) 0xB5, (byte) 0xBC, (byte) 0xBB,
    42. (byte) 0x96, (byte) 0x91, (byte) 0x98, (byte) 0x9F, (byte) 0x8A, (byte) 0x8D, (byte) 0x84, (byte) 0x83,
    43. (byte) 0xDE, (byte) 0xD9, (byte) 0xD0, (byte) 0xD7, (byte) 0xC2, (byte) 0xC5, (byte) 0xCC, (byte) 0xCB,
    44. (byte) 0xE6, (byte) 0xE1, (byte) 0xE8, (byte) 0xEF, (byte) 0xFA, (byte) 0xFD, (byte) 0xF4, (byte) 0xF3 };
    45. /**
    46. * Calculate the CRC value with data from input string.
    47. * @param input input string
    48. * @return The calculated CRC value. Left padding with zeros.
    49. * @throws UnsupportedEncodingException
    50. */
    51. public static String calculate(String input) throws UnsupportedEncodingException {
    52. byte[] data = input.getBytes(UTF_8);
    53. int len = data.length;
    54. byte crc = 0;
    55. for (int i = 0; i < len; i++)
    56. crc = crc8_table[(crc ^ data[i]) & 0xff];
    57. return String.format("%03d", crc & 0xFFL);
    58. }}

    0 Not allowed!
    Empresa de desarrollo de aplicaciones en COBOL.

    DASIJE INFORMATICA, S.L.
    C/ TOMAS BRETON 20
    11406 JEREZ DE LA FRONTERA
    CADIZ

    Teléfono : 956 11 21 11
    Web: http://www.dasije.es / DASIJE INFORMATICA
    E-m@il: clientes(@)dasije.es

  2. #12
      Guardián del Foro
    Avatar de Fito

    Registrado
    febrero de 2015
    Edad
    51
    Mensajes
    331
    Ciudad
    Córdoba, Villa María

    Agradecimientos
     
    Recibidos
    171
    Enviados
    176

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Agradecimientos / Point Value: 0 Guardián del Foro / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado

    Hola Amigos:

    Perdonen la ignorancia pero veo que esta instrucción que está en el codigo original, no está en el codigo cobol

    Java Código:
    1. data = input.getBytes(UTF_8);

    Será por eso?

    Saludos

    Fito...

    0 Not allowed!

  3. #13
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Edad
    37
    Mensajes
    2,013
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    863
    Enviados
    722

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Dasije, aquí tienes un ejemplo funcionando:

    COBOL Código:
    1.       $set sourceformat(variable)
    2.        program-id. CRC8 as "CRC8".
    3.  
    4.        environment division.
    5.        configuration section.
    6.  
    7.        data division.
    8.        working-storage section.
    9.        
    10.        01  CRC8-Table.
    11.            05  filler occurs 256.
    12.                10  tbByte      PIC X(1).
    13.                10  tbByteNum redefines tbByte PIC S9(2) COMP-5.
    14.        
    15.        01  cadena           PIC X(256) VALUE
    16.            "TBAI-00000006Y-251019-btFpwP8dcLGAF-".
    17.        01  len              PIC 9(2) COMP-5.
    18.        01  crc              PIC X(1).
    19.        01  crcNum redefines crc PIC 9(2) comp-5.
    20.        01  crcNumInt        PIC S9(9) COMP-5.
    21.        
    22.        01  idx-1            PIC 9(2) COMP-5.
    23.        
    24.        01  tmpChar          PIC X(1).
    25.        01  tmpIdx redefines tmpChar PIC S9(2) COMP-5.
    26.        01  tmpIdxInt        PIC S9(9) COMP-5.
    27.        
    28.        procedure division.
    29.            
    30.            perform chargeTable
    31.            perform getLen
    32.            
    33.            move 1 to idx-1
    34.            move 0 to crcNumInt
    35.            
    36.            perform until idx-1 > len
    37.                move cadena(idx-1:1) to tmpChar
    38.                move tmpIdx          to tmpIdxInt              
    39.                
    40.                call "CBL_XOR" using crcNumInt tmpIdxInt by value 4
    41.                display tmpIdxInt " " no advancing
    42.                
    43.                call "CBL_AND" using X"FF000000" tmpIdxInt by value 4
    44.                display tmpIdxInt " "
    45.                        tbByteNum(tmpIdxInt + 1) " " no advancing
    46.                
    47.                move tbByte(tmpIdxInt + 1) to crc
    48.                move crcNum                to crcNumInt
    49.                
    50.                display crcNumInt " "
    51.                
    52.                add 1 to idx-1
    53.            end-perform
    54.            
    55.            call "CBL_AND" using X"FF000000" crcNumInt by value 4
    56.            
    57.            display crcNumInt
    58.            
    59.            move crcNumInt to crcNum
    60.            
    61.            display crcNum " " crc
    62.            
    63.            goback
    64.            .
    65.        
    66.        
    67.        chargeTable.
    68.            string
    69.                        X"00", X"07", X"0E", X"09",
    70.             X"1C", X"1B", X"12", X"15", X"38", X"3F", X"36", X"31",
    71.             X"24", X"23", X"2A", X"2D", X"70", X"77", X"7E", X"79",
    72.             X"6C", X"6B", X"62", X"65", X"48", X"4F", X"46", X"41",
    73.            
    74.            X"54", X"53", X"5A", X"5D", X"E0", X"E7", X"EE", X"E9",
    75.             X"FC", X"FB", X"F2", X"F5", X"D8", X"DF", X"D6", X"D1",
    76.             X"C4", X"C3", X"CA", X"CD", X"90", X"97", X"9E", X"99",
    77.             X"8C", X"8B", X"82", X"85", X"A8", X"AF", X"A6", X"A1",
    78.             X"B4", X"B3", X"BA", X"BD", X"C7", X"C0", X"C9", X"CE",
    79.             X"DB", X"DC", X"D5", X"D2", X"FF", X"F8", X"F1", X"F6",
    80.             X"E3", X"E4", X"ED", X"EA", X"B7", X"B0", X"B9", X"BE",
    81.             X"AB", X"AC", X"A5", X"A2", X"8F", X"88", X"81", X"86",
    82.             X"93", X"94", X"9D", X"9A", X"27", X"20", X"29", X"2E",
    83.             X"3B", X"3C", X"35", X"32", X"1F", X"18", X"11", X"16",
    84.             X"03", X"04", X"0D", X"0A", X"57", X"50", X"59", X"5E",
    85.             X"4B", X"4C", X"45", X"42", X"6F", X"68", X"61", X"66",
    86.             X"73", X"74", X"7D", X"7A", X"89", X"8E", X"87", X"80",
    87.             X"95", X"92", X"9B", X"9C", X"B1", X"B6", X"BF", X"B8",
    88.             X"AD", X"AA", X"A3", X"A4", X"F9", X"FE", X"F7", X"F0",
    89.             X"E5", X"E2", X"EB", X"EC", X"C1", X"C6", X"CF", X"C8",
    90.             X"DD", X"DA", X"D3", X"D4", X"69", X"6E", X"67", X"60",
    91.             X"75", X"72", X"7B", X"7C", X"51", X"56", X"5F", X"58",
    92.             X"4D", X"4A", X"43", X"44", X"19", X"1E", X"17", X"10",
    93.             X"05", X"02", X"0B", X"0C", X"21", X"26", X"2F", X"28",
    94.             X"3D", X"3A", X"33", X"34", X"4E", X"49", X"40", X"47",
    95.             X"52", X"55", X"5C", X"5B", X"76", X"71", X"78", X"7F",
    96.             X"6A", X"6D", X"64", X"63", X"3E", X"39", X"30", X"37",
    97.             X"22", X"25", X"2C", X"2B", X"06", X"01", X"08", X"0F",
    98.             X"1A", X"1D", X"14", X"13", X"AE", X"A9", X"A0", X"A7",
    99.             X"B2", X"B5", X"BC", X"BB", X"96", X"91", X"98", X"9F",
    100.             X"8A", X"8D", X"84", X"83", X"DE", X"D9", X"D0", X"D7",
    101.             X"C2", X"C5", X"CC", X"CB", X"E6", X"E1", X"E8", X"EF",
    102.             X"FA", X"FD", X"F4", X"F3"
    103.            delimited by size into CRC8-Table
    104.            .
    105.            
    106.        getLen.
    107.            
    108.            move 36 to len
    109.            
    110.            *> Fujitsu: function stored-cahr-length
    111.            *> Otros: un bucle, unstring con x"00" o NOT = SPACES etc.
    112.            .
    113.            
    114.        end program CRC8.
    115.        

    Salida de tu codigo Java:
    Código:
    84 84 -85 -85-23 233 -111 -111-48 208 62 62119 119 66 66111 111 10 1058 58 -90 -90-106 150 -21 -21-37 219 15 1563 63 -67 -67-115 141 -86 -86-102 154 -49 -49-1 255 -13 -13-59 197 85 8512 12 36 369 9 63 6313 13 35 3522 22 98 9883 83 -66 -66-114 142 -93 -93-110 146 -9 -9-50 206 100 10073 73 -8 -8-102 154 -49 -49-69 187 40 40110 110 13 13125 125 116 1163 3 9 989 89 -120 -120-80 176 25 25125 125 116 11623 23 101 10141 41 -33 -33-104 152 -63 -63-128 128 -119 -119-49 207 99 9978 78 -19 -19-19 237237
    Salida del programa Cobol:
    Código:
    +0000000084 +0000000084 -085 +0000000171+0000000233 +0000000233 -111 +0000000145+0000000208 +0000000208 +062 +0000000062+0000000119 +0000000119 +066 +0000000066+0000000111 +0000000111 +010 +0000000010+0000000058 +0000000058 -090 +0000000166+0000000150 +0000000150 -021 +0000000235+0000000219 +0000000219 +015 +0000000015+0000000063 +0000000063 -067 +0000000189+0000000141 +0000000141 -086 +0000000170+0000000154 +0000000154 -049 +0000000207+0000000255 +0000000255 -013 +0000000243+0000000197 +0000000197 +085 +0000000085+0000000012 +0000000012 +036 +0000000036+0000000009 +0000000009 +063 +0000000063+0000000013 +0000000013 +035 +0000000035+0000000022 +0000000022 +098 +0000000098+0000000083 +0000000083 -066 +0000000190+0000000142 +0000000142 -093 +0000000163+0000000146 +0000000146 -009 +0000000247+0000000206 +0000000206 +100 +0000000100+0000000073 +0000000073 -008 +0000000248+0000000154 +0000000154 -049 +0000000207+0000000187 +0000000187 +040 +0000000040+0000000110 +0000000110 +013 +0000000013+0000000125 +0000000125 +116 +0000000116+0000000003 +0000000003 +009 +0000000009+0000000089 +0000000089 -120 +0000000136+0000000176 +0000000176 +025 +0000000025+0000000125 +0000000125 +116 +0000000116+0000000023 +0000000023 +101 +0000000101+0000000041 +0000000041 -033 +0000000223+0000000152 +0000000152 -063 +0000000193+0000000128 +0000000128 -119 +0000000137+0000000207 +0000000207 +099 +0000000099+0000000078 +0000000078 -019 +0000000237+0000000237237 Ý
    Se puede retrabajarlo y eso pero bueno, ya te lo dejo a ti. Funcionar funciona.

    ---------- Post añadido : 15:07 ---------- Post anterior : 15:04 ----------

    @Fito, esto nos da igual amigo, borque hablamos de Bytes tal cual

    El problema es que en Java, Delphi etc las tablas o los Arrays empiezan por el indice 0 y en Cobol en 1.
    El código saca el indice de la tabla definida de valores, con lo cual para Cobol hay que hacerle + 1

    ---------- Post añadido : 15:47 ---------- Post anterior : 15:07 ----------

    @Dasije, versión retrabajada:

    COBOL Código:
    1.       $set sourceformat(variable)
    2.        program-id. CRC8 as "CRC8".
    3.  
    4.        environment division.
    5.        configuration section.
    6.  
    7.        data division.
    8.        working-storage section.
    9.        
    10.        01  CRC8-Table.
    11.            05  filler occurs 256.
    12.                10  tbByte      PIC X(1).
    13.        
    14.        01  cadena           PIC X(256) VALUE
    15.            "TBAI-00000006Y-251019-btFpwP8dcLGAF-".
    16.        01  len              PIC 9(2) COMP-5.
    17.        01  crc              PIC X(1).
    18.        01  crcNum redefines crc PIC 9(2) comp-5.
    19.        
    20.        01  idx-1            PIC 9(2) COMP-5.
    21.        
    22.        01  tmpChar          PIC X(1).
    23.        01  tmpIdx redefines tmpChar PIC 9(2) COMP-5.
    24.        
    25.        procedure division.
    26.            
    27.            perform chargeTable
    28.            perform getLen
    29.            
    30.            move 1 to idx-1
    31.            move 0 to crcNum
    32.            
    33.            perform until idx-1 > len
    34.                move cadena(idx-1:1) to tmpChar
    35.                
    36.                call "CBL_XOR" using crcNum tmpIdx by value 1
    37.                call "CBL_AND" using X"FF" tmpIdx by value 1
    38.                
    39.                move tbByte(tmpIdx + 1) to crc
    40.                
    41.                add 1 to idx-1
    42.            end-perform
    43.            
    44.            call "CBL_AND" using X"FF" crcNum by value 1
    45.            
    46.            display crcNum
    47.            
    48.            goback
    49.            .
    50.        
    51.        
    52.        chargeTable.
    53.            string
    54.                        X"00", X"07", X"0E", X"09",
    55.             X"1C", X"1B", X"12", X"15", X"38", X"3F", X"36", X"31",
    56.             X"24", X"23", X"2A", X"2D", X"70", X"77", X"7E", X"79",
    57.             X"6C", X"6B", X"62", X"65", X"48", X"4F", X"46", X"41",
    58.            
    59.            X"54", X"53", X"5A", X"5D", X"E0", X"E7", X"EE", X"E9",
    60.             X"FC", X"FB", X"F2", X"F5", X"D8", X"DF", X"D6", X"D1",
    61.             X"C4", X"C3", X"CA", X"CD", X"90", X"97", X"9E", X"99",
    62.             X"8C", X"8B", X"82", X"85", X"A8", X"AF", X"A6", X"A1",
    63.             X"B4", X"B3", X"BA", X"BD", X"C7", X"C0", X"C9", X"CE",
    64.             X"DB", X"DC", X"D5", X"D2", X"FF", X"F8", X"F1", X"F6",
    65.             X"E3", X"E4", X"ED", X"EA", X"B7", X"B0", X"B9", X"BE",
    66.             X"AB", X"AC", X"A5", X"A2", X"8F", X"88", X"81", X"86",
    67.             X"93", X"94", X"9D", X"9A", X"27", X"20", X"29", X"2E",
    68.             X"3B", X"3C", X"35", X"32", X"1F", X"18", X"11", X"16",
    69.             X"03", X"04", X"0D", X"0A", X"57", X"50", X"59", X"5E",
    70.             X"4B", X"4C", X"45", X"42", X"6F", X"68", X"61", X"66",
    71.             X"73", X"74", X"7D", X"7A", X"89", X"8E", X"87", X"80",
    72.             X"95", X"92", X"9B", X"9C", X"B1", X"B6", X"BF", X"B8",
    73.             X"AD", X"AA", X"A3", X"A4", X"F9", X"FE", X"F7", X"F0",
    74.             X"E5", X"E2", X"EB", X"EC", X"C1", X"C6", X"CF", X"C8",
    75.             X"DD", X"DA", X"D3", X"D4", X"69", X"6E", X"67", X"60",
    76.             X"75", X"72", X"7B", X"7C", X"51", X"56", X"5F", X"58",
    77.             X"4D", X"4A", X"43", X"44", X"19", X"1E", X"17", X"10",
    78.             X"05", X"02", X"0B", X"0C", X"21", X"26", X"2F", X"28",
    79.             X"3D", X"3A", X"33", X"34", X"4E", X"49", X"40", X"47",
    80.             X"52", X"55", X"5C", X"5B", X"76", X"71", X"78", X"7F",
    81.             X"6A", X"6D", X"64", X"63", X"3E", X"39", X"30", X"37",
    82.             X"22", X"25", X"2C", X"2B", X"06", X"01", X"08", X"0F",
    83.             X"1A", X"1D", X"14", X"13", X"AE", X"A9", X"A0", X"A7",
    84.             X"B2", X"B5", X"BC", X"BB", X"96", X"91", X"98", X"9F",
    85.             X"8A", X"8D", X"84", X"83", X"DE", X"D9", X"D0", X"D7",
    86.             X"C2", X"C5", X"CC", X"CB", X"E6", X"E1", X"E8", X"EF",
    87.             X"FA", X"FD", X"F4", X"F3"
    88.            delimited by size into CRC8-Table
    89.            .
    90.            
    91.        getLen.
    92.            
    93.            move 36 to len
    94.            
    95.            *> Fujitsu: function stored-cahr-length
    96.            *> Otros: un bucle, unstring con x"00" o NOT = SPACES etc.
    97.            .
    98.            
    99.        end program CRC8.
    100.        

    0 Not allowed!

    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el editor al botón y escribiendo su nick.

  4. #14
      Senior
    J

    Registrado
    junio de 2016
    Edad
    56
    Mensajes
    286
    Ciudad
    Albacete

    Agradecimientos
     
    Recibidos
    183
    Enviados
    96

    Citaciones y menciones
     
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Esto parece competicion
    cadena "123"
    Resultado ?

    0 Not allowed!

  5. #15
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Edad
    37
    Mensajes
    2,013
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    863
    Enviados
    722

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 Post(s)
    Poder de Reputación
    10

    Predeterminado

    Cita Iniciado por JCantero Ver Mensaje
    cadena "123"
    Resultado ?
    Me da 192

    ---------- Post añadido : 01:28 ---------- Post anterior : 01:26 ----------

    @JCantero, por cierto, por lo visto RM/Cobol simplemente NO TIENE campos binarios......
    Una flipada la verdad....
    Converting RM/COBOL Data Files

    0 Not allowed!

    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el editor al botón y escribiendo su nick.

  6. #16
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Mensajes
    182
    Ciudad
    Jerez De La Frontera (cádiz)

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    14

    Predeterminado

    Hola @Kuk.

    He probado el ejemplo ultimo, el que está más trabajado, y funciona correctamente en NetExpress 3.1

    En NetCOBOL funciona, pero no da el resultado correcto, da 37, creo que tiene que ver el tamaño numérico en las variables.

    Saludos y gracias.

    0 Not allowed!
    Empresa de desarrollo de aplicaciones en COBOL.

    DASIJE INFORMATICA, S.L.
    C/ TOMAS BRETON 20
    11406 JEREZ DE LA FRONTERA
    CADIZ

    Teléfono : 956 11 21 11
    Web: http://www.dasije.es / DASIJE INFORMATICA
    E-m@il: clientes(@)dasije.es

  7. #17
      Senior
    J

    Registrado
    junio de 2016
    Edad
    56
    Mensajes
    286
    Ciudad
    Albacete

    Agradecimientos
     
    Recibidos
    183
    Enviados
    96

    Citaciones y menciones
     
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    @Kuk, En RM/Cobol puse crcNUM como pic 9(3) en vez de pic 9(2) y da el mismo resultado.


    0 Not allowed!

  8. #18
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Edad
    37
    Mensajes
    2,013
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    863
    Enviados
    722

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Dasije, para Fujitsu, intenta poner la directiva BINARY(BYTE) a ver qué tal. Si no, también prueba el ejemplo de más arriba, el que usa Integers en vez de Bytes y mira a ver si es correcto.
    @Nitzer, tú qué opinas?

    @JCantero, las operaciones de bits no pueden funcionar con el PIC 9(3) de Cobol, es decir hasta el valor 999. Si funciona, será que hay alguna transformación implícita por el Run-Time de RM.

    0 Not allowed!

    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el editor al botón y escribiendo su nick.

  9. #19
      Senior
    J

    Registrado
    junio de 2016
    Edad
    56
    Mensajes
    286
    Ciudad
    Albacete

    Agradecimientos
     
    Recibidos
    183
    Enviados
    96

    Citaciones y menciones
     
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    @Kuk, Pagina curiosa.

    https://paiza.io/projects/G4cdZbJJniTkugqeAOXZZw

    Tiene treinta y tantos lenguajes, entre ellos el cobol.

    Tu ejemplo en cobol funciona perfectamente.


    El que desee, puede hacer pruebas en cualquier dispositivo, movil, tablet, sin tener compilador ni runtime



    0 Not allowed!

  10. #20
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Edad
    37
    Mensajes
    2,013
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    863
    Enviados
    722

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @JCantero, en GNU Cobol funciona también.

    Míralo aquí: Online COBOL Compiler - Online COBOL Editor - Run COBOL Online - Online COBOL Runner

    0 Not allowed!

    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el editor al botón y escribiendo su nick.

Página 2 de 3 PrimerPrimer 1 2 3 ÚltimoÚltimo

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Sintaxis] Calcular dias, meses y años entre dos fechas
    Por Roger en el foro Fujitsu COBOL
    Respuestas: 7
    Último Mensaje: 06.02.2020, 09:27

User Tag List

Etiquetas para este Tema

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •